_DevPad is an in-game text editor and addon authoring tool, inspired by Mud's Hack.
Keep notes with it, write Lua scripts, or prototype addon concepts in its trimmed down development environment. Organize your scripts into folders and share them with other _DevPad users. Scripts can run automatically on login like mini addons, and can call each other like libraries or dependencies.
When you first install _DevPad, it includes an “<samp>Instruction Manual</samp>” script with a quick reference to using the mod. Here's an even quicker reference to the simple UI:
- Reorganize scripts and folders by dragging and dropping. Rename any folder or script by double clicking.
- Set scripts to auto-run by clicking the arrow buttons next to their names in the list. They will then run right after _DevPad's
ADDON_LOADEDevent in the listed order.
- Search script contents using Lua patterns in the search bar below the list.
- Adjust font and font size, toggle Lua mode per-script, and access other editing tools with buttons at the editor's top-right.
- Scripts in Lua mode appear syntax-highlighted (courtesy of krka's ForAllIndentsAndPurposes) and reveal UI Escape Sequences for editing directly.
- Without Lua mode, chat links in scripts become clickable, and text coloring tools appear at the editor's top-right.
- Use line numbers to navigate code. Click a line number to select that line.
- There is no save button; Script text is saved as you type.
- Undo and redo changes with standard keyboard shortcuts, or with the left and right arrow buttons at the top-right of the editor.
- Use familiar keyboard shortcuts to manipulate text:
- <kbd><Ctrl+Z></kbd>/<kbd><Ctrl+Shift+Z></kbd>: Undo and redo.
- <kbd><Ctrl+G></kbd>: Go to line number dialog.
- <kbd><Ctrl+F></kbd>: Focus the list's search edit box.
- <kbd><F3></kbd>/<kbd><Shift+F3></kbd>: Jump to next/previous search result.
There are two ways to open the list window: by keybind, or with the “<kbd>/devpad</kbd>” or “<kbd>/pad</kbd>” slash commands.
There are also two ways to run scripts as Lua code. With a script open, click the play button at the top-left of the editor window. Alternatively, you can run them by name if you include a Lua pattern with the slash command, like so: “<kbd>/devpad <var>Example Script</var></kbd>”. You can use the slash command in a macro to bind keys to _DevPad scripts.
Sending and Receiving
You can send scripts, even entire folders, to others with the trumpet icon at the top of the list window. When you receive something, you'll hear a sound and see a chat message prompting you to open your _DevPad. Once opened, you can choose to keep or discard the new item. Remember to always inspect what you receive from others before you run it though!
- For help writing scripts, see the default “<samp>Instruction Manual</samp>” and “<samp>Example Script</samp>” pages.
- Some components of _DevPad can safely be deleted to trim the editor even further:
- <kbd><_DevPad/_DevPad.DefaultScripts.lua></kbd>: Default scripts and folders.
- <kbd><_DevPad.GUI/_DevPad.GUI.Editor.Color.lua></kbd>: Color editing tools for non-Lua scripts.
- <kbd><_DevPad.GUI/_DevPad.GUI.Editor.History.lua></kbd>: Undo and redo history.
- <kbd><_DevPad.GUI/_DevPad.GUI.Editor.LineNumbers.lua></kbd>: Line numbering.
- <kbd><_DevPad.GUI/_DevPad.GUI.List.Search.lua></kbd>: Script text searching tools.
- <kbd><_DevPad.GUI/Libs/ForAllIndentsAndPurposes></kbd>: Syntax highlighting.
- By default, _DevPad comes with an “<samp>Importers</samp>” folder containing scripts to import pages from other notepad mods. WowLua, Hack, and TinyPad are currently supported. See the comments at the tops of these scripts for specific usage instructions.