blob: 88baf72d90a990944b928ee6203961752814a6c4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
# Modules
Most of Textadept's functionality comes from modules written in Lua. A module
consists of a single directory with an `init.lua` script to load any additional
Lua files (typically in the same location). Essentially there are two classes of
module: generic and language-specific.
## Generic
This class of modules is usually available globally for programming in all
languages or writing plain-text. An example is the
[textadept](../modules/_m.textadept.html) module which implements most of
Textadept's functionality (find/replace, key commands, menus, snippets, etc.).
These kinds of modules are generally loaded on startup. See the
[preferences](9_Preferences.html#user_init) page for instructions on how to load
generic modules when Textadept starts.
## Language Specific
Each module of this class of modules is named after a language lexer in the
`lexers/` directory and is only available only for editing code in that
particular programming language unless you specify otherwise. Examples are the
[cpp](../modules/_m.cpp.html) and [lua](../modules/_m.lua.html) modules which
provide special editing features for the C/C++ and Lua languages respectively.
#### Lexer
All languages have a [lexer](../modules/lexer.html) that performs syntax
highlighting on the source code. While the lexer itself is not part of the
module, its existence in `lexers/` is required.
#### Activation
Language-specific modules are automatically loaded when a file of that language
is loaded or a buffer's lexer is set to that language.
#### Snippets
Most language-specific modules have a set of
[snippets](../modules/_m.textadept.snippets.html). Press `Ctrl+Alt+Shift+I`
(`Ctrl+Apple+Shift+I` on Mac OSX) for a list of available snippets or see the
module's Lua code. To insert a snippet, type its trigger followed by the `Tab`
key. Subsequent presses of `Tab` causes the caret to enter tab stops in
sequential order, `Shift+Tab` goes back to the previous tab stop, and
`Ctrl+Alt+I` (`Ctrl+Apple+I` on Mac OSX) cancels the current snippet. Snippets
can be nested (inserted from within another snippet).


#### Commands
Most language-specific modules have a set of [key
commands](../modules/_m.textadept.keys.html). See the module's Lua code for
which key commands are available.
##### Run
Most language-specific modules have a command that runs the code in the current
file. Pressing `Ctrl+R` runs that command.
##### Compile
Most language-specific modules have a command that compiles the code in the
current file. Pressing `Ctrl+Shift+R` runs that command.
##### Block Comments
Pressing `Ctrl+Q` comments or uncomments the code on the selected lines.
#### Buffer Properties
Sometimes language-specific modules set default buffer properties like tabs and
indentation size. See the module's Lua code for these settings and change them
if you prefer something else.
## Getting Modules
For now, user-created modules are obtained from the
[wiki](http://caladbolg.net/textadeptwiki).
## Installing Modules
It is recommended to put all modules in your `~/.textadept/modules/` directory
so they will not be overwritten when you update Textadept. Modules in that
directory override any modules in Textadept's `modules/` directory. This means
that if you have your own `lua` module, it will be loaded instead of the one
that comes with Textadept.
## Developing Modules
See the [LuaDoc](../modules/_m.html) for modules.
|