Textadept
- Home |
- Download |
- Lua API |
- Source |
- Language Modules |
- Stats |
- Wiki |
- Mailing List
Contents
_M
A table of loaded modules.
Overview
Note that while language-specific modules can only be used by files of that language, they persist in Textadept’s Lua state. Because of this, it is not recommended to set global functions or variables and depend on them, as they may be inadvertantly overwritten. Keep them inside the module.
Structure
Each module should have an init.lua
that require
s all submodules it
needs. For an example, see modules/textadept/init.lua
.
Language-Specific Modules
The following is a list of recommended features for Language-Specific modules. They are all entirely optional.
Snippets
Snippets for common code constructs.
Commands
Run
If the code can be run by an interpreter or other executable, create a run command for it as well as an error format for the ability to jump to the position in a file where the error occured.
For example:
_M.textadept.run.run_command.lua = 'lua %(filename)'
Compile
If the code can be compiled by an executable, create a compile command for it.
For example:
_M.textadept.run.compile_command.lua = 'luac %(filename)'
Block Comment
Create a comment prefix for it so code can be easily commented and uncommented.
For example:
_M.textadept.editing.comment_string.lua = '--'
Buffer Properties
Add a set_buffer_properties
function with default buffer properties for
code like tab and indentation settings.
For example:
function set_buffer_properties()
local buffer = buffer
buffer.use_tabs = false
buffer.tab_width = 2
buffer.indent = 2
end
Context Menu
Language-specific context menus, accessible by right-clicking inside the view, can be defined as:
context_menu = {
{ 'label1', action1 },
{ 'label2', action2 },
...
}
See modules/textadept/menu.lua
for examples on how to define menus.