aboutsummaryrefslogtreecommitdiff
path: root/modules/lua/api
blob: 354a378f1212fe768c6654dbe5e93596f5f91915 (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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
ALPHA_NOALPHA buffer.ALPHA_NOALPHA (number, Read-only)\n
ALPHA_OPAQUE buffer.ALPHA_OPAQUE (number, Read-only)\n
ALPHA_TRANSPARENT buffer.ALPHA_TRANSPARENT (number, Read-only)\n
ANNOTATION_BOXED buffer.ANNOTATION_BOXED (number, Read-only)\n
ANNOTATION_HIDDEN buffer.ANNOTATION_HIDDEN (number, Read-only)\n
ANNOTATION_STANDARD buffer.ANNOTATION_STANDARD (number, Read-only)\n
APPLEEVENT_ODOC events.APPLEEVENT_ODOC (string)\nEmitted when Mac OSX tells Textadept to open a file.\nArguments:\n\n* _`uri`_: The UTF-8-encoded URI to open.
ARG_NONE events.ARG_NONE (string)\nEmitted when no command line arguments are passed to Textadept on startup.
AUTOCOMPLETE_ALL textadept.editing.AUTOCOMPLETE_ALL (bool)\nAutocomplete the current word using words from all open buffers.\nIf `true`, performance may be slow when many buffers are open.\nThe default value is `false`.
AUTOINDENT textadept.editing.AUTOINDENT (bool)\nMatch the previous line's indentation level after inserting a new line.\nThe default value is `true`.
AUTOMATICFOLD_CHANGE buffer.AUTOMATICFOLD_CHANGE (number, Read-only)\n
AUTOMATICFOLD_CLICK buffer.AUTOMATICFOLD_CLICK (number, Read-only)\n
AUTOMATICFOLD_SHOW buffer.AUTOMATICFOLD_SHOW (number, Read-only)\n
AUTOPAIR textadept.editing.AUTOPAIR (bool)\nAutomatically close opening brace and quote characters with their\ncomplements.\nThe default value is `true`.\nAuto-paired characters are defined in the\n`textadept.editing.char_matches` table.
AUTO_C_CANCELED events.AUTO_C_CANCELED (string)\nEmitted when canceling an autocompletion or user list.
AUTO_C_CHAR_DELETED events.AUTO_C_CHAR_DELETED (string)\nEmitted after deleting a character while an autocompletion or user list is\nactive.
AUTO_C_SELECTION events.AUTO_C_SELECTION (string)\nEmitted after selecting an item from an autocompletion list, but before\ninserting that item into the buffer.\nAutomatic insertion can be cancelled by calling\n`buffer:auto_c_cancel()` before returning from the event handler.\nArguments:\n\n* _`text`_: The selection's text.\n* _`position`_: The autocompleted word's beginning position.
B lpeg.B(patt)\nReturns a pattern that matches only if the input string at the current\nposition is preceded by `patt`. Pattern `patt` must match only strings with\nsome fixed length, and it cannot contain captures.\n\nLike the and predicate, this pattern never consumes any input, independently\nof success or failure.
BSD _G.BSD (bool)\nWhether or not Textadept is running on BSD.
BUFFER_AFTER_SWITCH events.BUFFER_AFTER_SWITCH (string)\nEmitted right after switching to another buffer.\nEmitted by `view.goto_buffer()`.
BUFFER_BEFORE_SWITCH events.BUFFER_BEFORE_SWITCH (string)\nEmitted right before switching to another buffer.\nEmitted by `view.goto_buffer()`.
BUFFER_DELETED events.BUFFER_DELETED (string)\nEmitted after deleting a buffer.\nEmitted by `buffer.delete()`.
BUFFER_NEW events.BUFFER_NEW (string)\nEmitted after creating a new buffer.\nEmitted on startup and by `buffer.new()`.
BUILD_OUTPUT events.BUILD_OUTPUT (string)\nEmitted when executing a project's build shell command.\nBy default, output is printed to the message buffer. To override this\nbehavior, connect to the event with an index of `1` and return `true`.\nArguments:\n\n* `project`: The path to the project being built.\n* `output`: A line of string output from the command.
C lpeg.C(patt)\nCreates a simple capture, which captures the substring of the subject that\nmatches `patt`. The captured value is a string. If `patt` has other captures,\ntheir values are returned after this one.
CALL_TIP_CLICK events.CALL_TIP_CLICK (string)\nEmitted when clicking on a calltip.\nArguments:\n\n* _`position`_: `1` if the up arrow was clicked, 2 if the down arrow was\n  clicked, and 0 otherwise.
CARETSTICKY_OFF buffer.CARETSTICKY_OFF (number, Read-only)\n
CARETSTICKY_ON buffer.CARETSTICKY_ON (number, Read-only)\n
CARETSTICKY_WHITESPACE buffer.CARETSTICKY_WHITESPACE (number, Read-only)\n
CARETSTYLE_BLOCK buffer.CARETSTYLE_BLOCK (number, Read-only)\n
CARETSTYLE_INVISIBLE buffer.CARETSTYLE_INVISIBLE (number, Read-only)\n
CARETSTYLE_LINE buffer.CARETSTYLE_LINE (number, Read-only)\n
CARET_EVEN buffer.CARET_EVEN (number, Read-only)\n
CARET_JUMPS buffer.CARET_JUMPS (number, Read-only)\n
CARET_SLOP buffer.CARET_SLOP (number, Read-only)\n
CARET_STRICT buffer.CARET_STRICT (number, Read-only)\n
CASEINSENSITIVEBEHAVIOUR_IGNORECASE buffer.CASEINSENSITIVEBEHAVIOUR_IGNORECASE (number, Read-only)\n
CASEINSENSITIVEBEHAVIOUR_RESPECTCASE buffer.CASEINSENSITIVEBEHAVIOUR_RESPECTCASE (number, Read-only)\n
CASE_LOWER buffer.CASE_LOWER (number, Read-only)\n
CASE_MIXED buffer.CASE_MIXED (number, Read-only)\n
CASE_UPPER buffer.CASE_UPPER (number, Read-only)\n
CHAR_ADDED events.CHAR_ADDED (string)\nEmitted after the user types a text character into the buffer.\nArguments:\n\n* _`byte`_: The text character's byte.
CHECK_SYNTAX _M.python.CHECK_SYNTAX (bool)\nWhether or not to invoke Python to check the syntax of the current file\nwhen saving it.\nThe default value is `true`.
CLASS lexer.CLASS (string)\nThe token name for class tokens.
CLASS textadept.editing.XPM_IMAGES.CLASS (table)\nThe image number for classes.
CLEAR keys.CLEAR (string)\nThe key that clears the current key chain.\nIt cannot be part of a key chain.\nThe default value is `'esc'` for the `Esc` key.
COMMENT lexer.COMMENT (string)\nThe token name for comment tokens.
COMPILE_OUTPUT events.COMPILE_OUTPUT (string)\nEmitted when executing a language's compile shell command.\nBy default, compiler output is printed to the message buffer. To override\nthis behavior, connect to the event with an index of `1` and return `true`.\nArguments:\n\n* `lexer`: The language's lexer name.\n* `output`: A line of string output from the command.
CONSTANT lexer.CONSTANT (string)\nThe token name for constant tokens.
CSI events.CSI (string)\nEmitted when the terminal version receives an unrecognized CSI sequence.\nArguments:\n\n* _`cmd`_: The 24-bit CSI command value. The lowest byte contains the\n  command byte. The second lowest byte contains the leading byte, if any\n  (e.g. '?'). The third lowest byte contains the intermediate byte, if any\n  (e.g. '$').\n* _`args`_: Table of numeric arguments of the CSI sequence.
CURSES _G.CURSES (bool)\nWhether or not Textadept is running in the terminal.\nCurses feature incompatibilities are listed in the Appendix.
CURSORARROW buffer.CURSORARROW (number, Read-only)\n
CURSORNORMAL buffer.CURSORNORMAL (number, Read-only)\n
CURSORREVERSEARROW buffer.CURSORREVERSEARROW (number, Read-only)\n
CURSORWAIT buffer.CURSORWAIT (number, Read-only)\n
Carg lpeg.Carg(n)\nCreates an argument capture. This pattern matches the empty string and\nproduces the value given as the nth extra argument given in the call to\n`lpeg.match`.
Cb lpeg.Cb(name)\nCreates a back capture. This pattern matches the empty string and produces\nthe values produced by the most recent group capture named `name`.\n\nMost recent means the last complete outermost group capture with the given\nname. A Complete capture means that the entire pattern corresponding to the\ncapture has matched. An Outermost capture means that the capture is not\ninside another complete capture.
Cc lpeg.Cc([value, ...])\nCreates a constant capture. This pattern matches the empty string and\nproduces all given values as its captured values.
Cf lpeg.Cf(patt, func)\nCreates a fold capture. If patt produces a list of captures C1 C2 ... Cn,\nthis capture will produce the value func(...func(func(C1, C2), C3)..., Cn),\nthat is, it will fold (or accumulate, or reduce) the captures from `patt`\nusing function `func`.\n\nThis capture assumes that `patt` should produce at least one capture with at\nleast one value (of any type), which becomes the initial value of an\naccumulator. (If you need a specific initial value, you may prefix a constant\ncapture to `patt`.) For each subsequent capture, LPeg calls `func` with this\naccumulator as the first argument and all values produced by the capture as\nextra arguments; the first result from this call becomes the new value for\nthe accumulator. The final value of the accumulator becomes the captured\nvalue.\n\nAs an example, the following pattern matches a list of numbers separated by\ncommas and returns their addition:\n\n  -- matches a numeral and captures its numerical value\n  number = lpeg.R"09"^1 / tonumber\n  -- matches a list of numbers, capturing their values\n  list = number * ("," * number)^0\n  -- auxiliary function to add two numbers\n  function add (acc, newvalue) return acc + newvalue end\n  -- folds the list of numbers adding them\n  sum = lpeg.Cf(list, add)\n  -- example of use\n  print(sum:match("10,30,43"))   --> 83
Cg lpeg.Cg(patt [, name])\nCreates a group capture. It groups all values returned by `patt` into a\nsingle capture. The group may be anonymous (if no name is given) or named\nwith the given name.\n\nAn anonymous group serves to join values from several captures into a single\ncapture. A named group has a different behavior. In most situations, a named\ngroup returns no values at all. Its values are only relevant for a following\nback capture or when used inside a table capture.
Cmt lpeg.Cmt(patt, function)\nCreates a match-time capture. Unlike all other captures, this one is\nevaluated immediately when a match occurs. It forces the immediate evaluation\nof all its nested captures and then calls `function`.\n\nThe given function gets as arguments the entire subject, the current position\n(after the match of `patt`), plus any capture values produced by `patt`.\n\nThe first value returned by `function` defines how the match happens. If the\ncall returns a number, the match succeeds and the returned number becomes the\nnew current position. (Assuming a subject s and current position i, the\nreturned number must be in the range [i, len(s) + 1].) If the call returns\ntrue, the match succeeds without consuming any input. (So, to return true is\nequivalent to return i.) If the call returns false, nil, or no value, the\nmatch fails.\n\nAny extra values returned by the function become the values produced by the\ncapture.
Cp lpeg.Cp()\nCreates a position capture. It matches the empty string and captures the\nposition in the subject where the match occurs. The captured value is a\nnumber.
Cs lpeg.Cs(patt)\nCreates a substitution capture, which captures the substring of the subject\nthat matches `patt`, with substitutions. For any capture inside `patt` with a\nvalue, the substring that matched the capture is replaced by the capture\nvalue (which should be a string). The final captured value is the string\nresulting from all replacements.
Ct lpeg.Ct(patt)\nCreates a table capture. This capture creates a table and puts all values\nfrom all anonymous captures made by `patt` inside this table in successive\ninteger keys, starting at 1. Moreover, for each named capture group created\nby `patt`, the first value of the group is put into the table with the group\nname as its key. The captured value is only the table.
DEFAULT lexer.DEFAULT (string)\nThe token name for default tokens.
DEFAULT_SESSION textadept.session.DEFAULT_SESSION (string)\nThe path to the default session file, *`_USERHOME`/session*, or\n*`_USERHOME`/session_term* if `CURSES` is `true`.
DOCUTILS_PATH _M.rest.DOCUTILS_PATH (string)\nThe absolute path to the directory that contains the Python Docutils\nlibrary if it is not in the environment's `PYTHONPATH`.\nThe default value is `nil`, which indicates Docutils is installed.
DOUBLE_CLICK events.DOUBLE_CLICK (string)\nEmitted after double-clicking the mouse button.\nArguments:\n\n* _`position`_: The position double-clicked.\n* _`line`_: The line number of the position double-clicked.\n* _`modifiers`_: A bit-mask of any modifier keys used: `buffer.MOD_CTRL`,\n  `buffer.MOD_SHIFT`, `buffer.MOD_ALT`, and `buffer.MOD_META`.\n  Note: If you set `buffer.rectangular_selection_modifier` to\n  `buffer.MOD_CTRL`, the "Control" modifier is reported as *both* "Control"\n  and "Alt" due to a Scintilla limitation with GTK+.
DWELL_END events.DWELL_END (string)\nEmitted after `DWELL_START` when the user moves the mouse, presses a key,\nor scrolls the view.\nArguments:\n\n* _`position`_: The position closest to *x* and *y*.\n* _`x`_: The x-coordinate of the mouse in the view.\n* _`y`_: The y-coordinate of the mouse in the view.
DWELL_START events.DWELL_START (string)\nEmitted when the mouse is stationary for `buffer.mouse_dwell_time`\nmilliseconds.\nArguments:\n\n* _`position`_: The position closest to *x* and *y*.\n* _`x`_: The x-coordinate of the mouse in the view.\n* _`y`_: The y-coordinate of the mouse in the view.
EDGE_BACKGROUND buffer.EDGE_BACKGROUND (number, Read-only)\n
EDGE_LINE buffer.EDGE_LINE (number, Read-only)\n
EDGE_NONE buffer.EDGE_NONE (number, Read-only)\n
EOL_CR buffer.EOL_CR (number, Read-only)\n
EOL_CRLF buffer.EOL_CRLF (number, Read-only)\n
EOL_LF buffer.EOL_LF (number, Read-only)\n
ERROR events.ERROR (string)\nEmitted when an error occurs.\nArguments:\n\n* _`text`_: The error message text.
ERROR lexer.ERROR (string)\nThe token name for error tokens.
FILE_AFTER_SAVE events.FILE_AFTER_SAVE (string)\nEmitted right after saving a file to disk.\nEmitted by `io.save_file()`.\nArguments:\n\n* _`filename`_: The filename of the file being saved.
FILE_BEFORE_SAVE events.FILE_BEFORE_SAVE (string)\nEmitted right before saving a file to disk.\nEmitted by `io.save_file()`.\nArguments:\n\n* _`filename`_: The filename of the file being saved.
FILE_CHANGED events.FILE_CHANGED (string)\nEmitted when Textadept detects that an open file was modified externally.\nWhen connecting to this event, connect with an index of 1 to override the\ndefault prompt to reload the file.\nArguments:\n\n* _`filename`_: The filename externally modified.
FILE_OPENED events.FILE_OPENED (string)\nEmitted after opening a file in a new buffer.\nEmitted by `io.open_file()`.\nArguments:\n\n* _`filename`_: The opened file's filename.
FILE_SAVED_AS events.FILE_SAVED_AS (string)\nEmitted after saving a file under a different filename.\nEmitted by `io.save_file_as()`.\nArguments:\n\n* _`filename`_: The new filename.
FILTER lfs.FILTER (table)\nThe filter table containing common binary file extensions and version control\ndirectories to exclude when iterating over files and directories using\n`dir_foreach` when its `exclude_FILTER` argument is `false`.\n@see dir_foreach
FILTER ui.find.FILTER (table)\nThe table of Lua patterns matching files and directories to exclude when\nfinding in files.\nThe filter contains Lua patterns that match filenames to exclude, an optional\n`folders` sub-table that contains patterns matching directories to exclude,\nand an optional `extensions` sub-table that contains raw file extensions to\nexclude. Any patterns starting with '!' exclude files and directories that do\nnot match the pattern that follows.\nThe default value is `lfs.FILTER`, a filter for common binary file extensions\nand version control directories.\n@see find_in_files\n@see lfs.FILTER
FIND events.FIND (string)\nEmitted to find text via the Find & Replace Pane.\nArguments:\n\n* _`text`_: The text to search for.\n* _`next`_: Whether or not to search forward.
FIND_MATCHCASE buffer.FIND_MATCHCASE (number, Read-only)\n
FIND_REGEXP buffer.FIND_REGEXP (number, Read-only)\n
FIND_WHOLEWORD buffer.FIND_WHOLEWORD (number, Read-only)\n
FIND_WORDSTART buffer.FIND_WORDSTART (number, Read-only)\n
FIND_WRAPPED events.FIND_WRAPPED (string)\nEmitted when a text search wraps (passes through the beginning of the\nbuffer), either from bottom to top (when searching for a next occurrence),\nor from top to bottom (when searching for a previous occurrence).\nThis is useful for implementing a more visual or audible notice when a\nsearch wraps in addition to the statusbar message.
FOCUS events.FOCUS (string)\nEmitted when Textadept receives focus.\nThis event is never emitted when Textadept is running in the terminal.
FOLDACTION_CONTRACT buffer.FOLDACTION_CONTRACT (number, Read-only)\n
FOLDACTION_EXPAND buffer.FOLDACTION_EXPAND (number, Read-only)\n
FOLDACTION_TOGGLE buffer.FOLDACTION_TOGGLE (number, Read-only)\n
FOLDFLAG_LEVELNUMBERS buffer.FOLDFLAG_LEVELNUMBERS (number, Read-only)\n
FOLDFLAG_LINEAFTER_CONTRACTED buffer.FOLDFLAG_LINEAFTER_CONTRACTED (number, Read-only)\n
FOLDFLAG_LINEAFTER_EXPANDED buffer.FOLDFLAG_LINEAFTER_EXPANDED (number, Read-only)\n
FOLDFLAG_LINEBEFORE_CONTRACTED buffer.FOLDFLAG_LINEBEFORE_CONTRACTED (number, Read-only)\n
FOLDFLAG_LINEBEFORE_EXPANDED buffer.FOLDFLAG_LINEBEFORE_EXPANDED (number, Read-only)\n
FOLDFLAG_LINESTATE buffer.FOLDFLAG_LINESTATE (number, Read-only)\n
FOLDLEVELBASE buffer.FOLDLEVELBASE (number, Read-only)\n
FOLDLEVELHEADERFLAG buffer.FOLDLEVELHEADERFLAG (number, Read-only)\n
FOLDLEVELNUMBERMASK buffer.FOLDLEVELNUMBERMASK (number, Read-only)\n
FOLDLEVELWHITEFLAG buffer.FOLDLEVELWHITEFLAG (number, Read-only)\n
FOLD_BASE lexer.FOLD_BASE (number)\nThe initial (root) fold level.
FOLD_BLANK lexer.FOLD_BLANK (number)\nFlag indicating that the line is blank.
FOLD_HEADER lexer.FOLD_HEADER (number)\nFlag indicating the line is fold point.
FUNCTION lexer.FUNCTION (string)\nThe token name for function tokens.
HOTSPOT_CLICK events.HOTSPOT_CLICK (string)\nEmitted when clicking on text that is in a style that has the hotspot\nattribute set.\nArguments:\n\n* _`position`_: The clicked text's position.\n* _`modifiers`_: A bit-mask of any modifier keys used: `buffer.MOD_CTRL`,\n  `buffer.MOD_SHIFT`, `buffer.MOD_ALT`, and `buffer.MOD_META`.\n  Note: If you set `buffer.rectangular_selection_modifier` to\n  `buffer.MOD_CTRL`, the "Control" modifier is reported as *both* "Control"\n  and "Alt" due to a Scintilla limitation with GTK+.
HOTSPOT_DOUBLE_CLICK events.HOTSPOT_DOUBLE_CLICK (string)\nEmitted when double-clicking on text that is in a style that has the\nhotspot attribute set.\nArguments:\n\n* _`position`_: The double-clicked text's position.\n* _`modifiers`_: A bit-mask of any modifier keys used: `buffer.MOD_CTRL`,\n  `buffer.MOD_SHIFT`, `buffer.MOD_ALT`, and `buffer.MOD_META`.\n  Note: If you set `buffer.rectangular_selection_modifier` to\n  `buffer.MOD_CTRL`, the "Control" modifier is reported as *both* "Control"\n  and "Alt" due to a Scintilla limitation with GTK+.
HOTSPOT_RELEASE_CLICK events.HOTSPOT_RELEASE_CLICK (string)\nEmitted when releasing the mouse after clicking on text that is in a style\nthat has the hotspot attribute set.\nArguments:\n\n* _`position`_: The clicked text's position.
IDENTIFIER lexer.IDENTIFIER (string)\nThe token name for identifier tokens.
INDICATOR_CLICK events.INDICATOR_CLICK (string)\nEmitted when clicking the mouse on text that has an indicator present.\nArguments:\n\n* _`position`_: The clicked text's position.\n* _`modifiers`_: A bit-mask of any modifier keys used: `buffer.MOD_CTRL`,\n  `buffer.MOD_SHIFT`, `buffer.MOD_ALT`, and `buffer.MOD_META`.\n  Note: If you set `buffer.rectangular_selection_modifier` to\n  `buffer.MOD_CTRL`, the "Control" modifier is reported as *both* "Control"\n  and "Alt" due to a Scintilla limitation with GTK+.
INDICATOR_RELEASE events.INDICATOR_RELEASE (string)\nEmitted when releasing the mouse after clicking on text that has an\nindicator present.\nArguments:\n\n* _`position`_: The clicked text's position.
INDIC_BOX buffer.INDIC_BOX (number, Read-only)\n
INDIC_BRACEMATCH textadept.editing.INDIC_BRACEMATCH (number)\nThe matching brace highlight indicator number.
INDIC_COMPOSITIONTHICK buffer.INDIC_COMPOSITIONTHICK (number, Read-only)\n
INDIC_DASH buffer.INDIC_DASH (number, Read-only)\n
INDIC_DIAGONAL buffer.INDIC_DIAGONAL (number, Read-only)\n
INDIC_DOTBOX buffer.INDIC_DOTBOX (number, Read-only)\n
INDIC_DOTS buffer.INDIC_DOTS (number, Read-only)\n
INDIC_HIDDEN buffer.INDIC_HIDDEN (number, Read-only)\n
INDIC_HIGHLIGHT textadept.editing.INDIC_HIGHLIGHT (number)\nThe word highlight indicator number.
INDIC_MAX buffer.INDIC_MAX (number, Read-only)\n
INDIC_PLAIN buffer.INDIC_PLAIN (number, Read-only)\n
INDIC_ROUNDBOX buffer.INDIC_ROUNDBOX (number, Read-only)\n
INDIC_SQUIGGLE buffer.INDIC_SQUIGGLE (number, Read-only)\n
INDIC_SQUIGGLELOW buffer.INDIC_SQUIGGLELOW (number, Read-only)\n
INDIC_SQUIGGLEPIXMAP buffer.INDIC_SQUIGGLEPIXMAP (number, Read-only)\n
INDIC_STRAIGHTBOX buffer.INDIC_STRAIGHTBOX (number, Read-only)\n
INDIC_STRIKE buffer.INDIC_STRIKE (number, Read-only)\n
INDIC_TT buffer.INDIC_TT (number, Read-only)\n
INITIALIZED events.INITIALIZED (string)\nEmitted after Textadept finishes initializing.
IV_LOOKBOTH buffer.IV_LOOKBOTH (number, Read-only)\n
IV_LOOKFORWARD buffer.IV_LOOKFORWARD (number, Read-only)\n
IV_NONE buffer.IV_NONE (number, Read-only)\n
IV_REAL buffer.IV_REAL (number, Read-only)\n
KEYPRESS events.KEYPRESS (string)\nEmitted when pressing a key.\nIf any handler returns `true`, the key is not inserted into the buffer.\nArguments:\n\n* _`code`_: The numeric key code.\n* _`shift`_: The "Shift" modifier key is held down.\n* _`ctrl`_: The "Control" modifier key is held down.\n* _`alt`_: The "Alt"/"Option" modifier key is held down.\n* _`meta`_: The "Command" modifier key on Mac OSX is held down.
KEYSYMS keys.KEYSYMS (table)\nLookup table for string representations of key codes higher than 255.\nKey codes can be identified by temporarily uncommenting the `print()`\nstatements in *core/keys.lua*.
KEYWORD lexer.KEYWORD (string)\nThe token name for keyword tokens.
LABEL lexer.LABEL (string)\nThe token name for label tokens.
LANGUAGE_MODULE_PREFIX keys.LANGUAGE_MODULE_PREFIX (string)\nThe prefix key of the key chain reserved for language modules.\nThe default value is `'cl'` on platforms other than Mac OSX, `'ml'`\notherwise. Equivalent to `Ctrl+L` (`⌘L` on Mac OSX | `M-L` in curses).
LEXERPATH lexer.LEXERPATH (string)\nThe path used to search for a lexer to load.\nIdentical in format to Lua's `package.path` string.\nThe default value is `package.path`.
LEXER_LOADED events.LEXER_LOADED (string)\nEmitted after loading a language lexer.\nThis is useful for overriding a language module's key bindings or other\nproperties since the module is not loaded when Textadept starts.\nArguments:\n\n* *`lexer`*: The language lexer's name.
LINUX _G.LINUX (bool)\nWhether or not Textadept is running on Linux.
MARGINOPTION_NONE buffer.MARGINOPTION_NONE (number, Read-only)\n
MARGINOPTION_SUBLINESELECT buffer.MARGINOPTION_SUBLINESELECT (number, Read-only)\n
MARGIN_BACK buffer.MARGIN_BACK (number, Read-only)\n
MARGIN_CLICK events.MARGIN_CLICK (string)\nEmitted when clicking the mouse inside a sensitive margin.\nArguments:\n\n* _`margin`_: The margin number clicked.\n* _`position`_: The beginning position of the clicked margin's line.\n* _`modifiers`_: A bit-mask of any modifier keys used: `buffer.MOD_CTRL`,\n  `buffer.MOD_SHIFT`, `buffer.MOD_ALT`, and `buffer.MOD_META`.\n  Note: If you set `buffer.rectangular_selection_modifier` to\n  `buffer.MOD_CTRL`, the "Control" modifier is reported as *both* "Control"\n  and "Alt" due to a Scintilla limitation with GTK+.
MARGIN_FORE buffer.MARGIN_FORE (number, Read-only)\n
MARGIN_NUMBER buffer.MARGIN_NUMBER (number, Read-only)\n
MARGIN_RTEXT buffer.MARGIN_RTEXT (number, Read-only)\n
MARGIN_SYMBOL buffer.MARGIN_SYMBOL (number, Read-only)\n
MARGIN_TEXT buffer.MARGIN_TEXT (number, Read-only)\n
MARKER_MAX buffer.MARKER_MAX (number, Read-only)\n
MARKNUM_FOLDER buffer.MARKNUM_FOLDER (number, Read-only)\n
MARKNUM_FOLDEREND buffer.MARKNUM_FOLDEREND (number, Read-only)\n
MARKNUM_FOLDERMIDTAIL buffer.MARKNUM_FOLDERMIDTAIL (number, Read-only)\n
MARKNUM_FOLDEROPEN buffer.MARKNUM_FOLDEROPEN (number, Read-only)\n
MARKNUM_FOLDEROPENMID buffer.MARKNUM_FOLDEROPENMID (number, Read-only)\n
MARKNUM_FOLDERSUB buffer.MARKNUM_FOLDERSUB (number, Read-only)\n
MARKNUM_FOLDERTAIL buffer.MARKNUM_FOLDERTAIL (number, Read-only)\n
MARK_ARROW buffer.MARK_ARROW (number, Read-only)\n
MARK_ARROWDOWN buffer.MARK_ARROWDOWN (number, Read-only)\n
MARK_ARROWS buffer.MARK_ARROWS (number, Read-only)\n
MARK_AVAILABLE buffer.MARK_AVAILABLE (number, Read-only)\n
MARK_BACKGROUND buffer.MARK_BACKGROUND (number, Read-only)\n
MARK_BOOKMARK buffer.MARK_BOOKMARK (number, Read-only)\n
MARK_BOOKMARK textadept.bookmarks.MARK_BOOKMARK (number)\nThe bookmark mark number.
MARK_BOXMINUS buffer.MARK_BOXMINUS (number, Read-only)\n
MARK_BOXMINUSCONNECTED buffer.MARK_BOXMINUSCONNECTED (number, Read-only)\n
MARK_BOXPLUS buffer.MARK_BOXPLUS (number, Read-only)\n
MARK_BOXPLUSCONNECTED buffer.MARK_BOXPLUSCONNECTED (number, Read-only)\n
MARK_CHARACTER buffer.MARK_CHARACTER (number, Read-only)\n
MARK_CIRCLE buffer.MARK_CIRCLE (number, Read-only)\n
MARK_CIRCLEMINUS buffer.MARK_CIRCLEMINUS (number, Read-only)\n
MARK_CIRCLEMINUSCONNECTED buffer.MARK_CIRCLEMINUSCONNECTED (number, Read-only)\n
MARK_CIRCLEPLUS buffer.MARK_CIRCLEPLUS (number, Read-only)\n
MARK_CIRCLEPLUSCONNECTED buffer.MARK_CIRCLEPLUSCONNECTED (number, Read-only)\n
MARK_DOTDOTDOT buffer.MARK_DOTDOTDOT (number, Read-only)\n
MARK_EMPTY buffer.MARK_EMPTY (number, Read-only)\n
MARK_ERROR textadept.run.MARK_ERROR (number)\nThe run or compile error marker number.
MARK_FULLRECT buffer.MARK_FULLRECT (number, Read-only)\n
MARK_LCORNER buffer.MARK_LCORNER (number, Read-only)\n
MARK_LCORNERCURVE buffer.MARK_LCORNERCURVE (number, Read-only)\n
MARK_LEFTRECT buffer.MARK_LEFTRECT (number, Read-only)\n
MARK_MINUS buffer.MARK_MINUS (number, Read-only)\n
MARK_PIXMAP buffer.MARK_PIXMAP (number, Read-only)\n
MARK_PLUS buffer.MARK_PLUS (number, Read-only)\n
MARK_RGBAIMAGE buffer.MARK_RGBAIMAGE (number, Read-only)\n
MARK_ROUNDRECT buffer.MARK_ROUNDRECT (number, Read-only)\n
MARK_SHORTARROW buffer.MARK_SHORTARROW (number, Read-only)\n
MARK_SMALLRECT buffer.MARK_SMALLRECT (number, Read-only)\n
MARK_TCORNER buffer.MARK_TCORNER (number, Read-only)\n
MARK_TCORNERCURVE buffer.MARK_TCORNERCURVE (number, Read-only)\n
MARK_UNDERLINE buffer.MARK_UNDERLINE (number, Read-only)\n
MARK_VLINE buffer.MARK_VLINE (number, Read-only)\n
MARK_WARNING textadept.run.MARK_WARNING (number)\nThe run or compile warning marker number.
MASK_FOLDERS buffer.MASK_FOLDERS (number, Read-only)\n
MAX_RECENT_FILES textadept.session.MAX_RECENT_FILES (number)\nThe maximum number of recent files to save in session files.\nRecent files are stored in `io.recent_files`.\nThe default value is `10`.
MENU_CLICKED events.MENU_CLICKED (string)\nEmitted after selecting a menu item.\nArguments:\n\n* _`menu_id`_: The numeric ID of the menu item set in `ui.menu()`.
METHOD textadept.editing.XPM_IMAGES.METHOD (table)\nThe image number for methods.
MODE keys.MODE (string)\nThe current key mode.\nWhen non-`nil`, all key bindings defined outside of `keys[MODE]` are\nignored.\nThe default value is `nil`.
MOD_ALT buffer.MOD_ALT (number, Read-only)\n
MOD_CTRL buffer.MOD_CTRL (number, Read-only)\n
MOD_META buffer.MOD_META (number, Read-only)\n
MOD_SHIFT buffer.MOD_SHIFT (number, Read-only)\n
MOD_SUPER buffer.MOD_SUPER (number, Read-only)\n
MOUSE events.MOUSE (string)\nEmitted by the terminal version for an unhandled mouse event.\nArguments:\n\n* _`event`_: The mouse event: `buffer.MOUSE_PRESS`, `buffer.MOUSE_DRAG`, or\n  `buffer.MOUSE_RELEASE`.\n* _`button`_: The mouse button number.\n* _`y`_: The y-coordinate of the mouse event, starting from 1.\n* _`x`_: The x-coordinate of the mouse event, starting from 1.\n* _`shift`_: The "Shift" modifier key is held down.\n* _`ctrl`_: The "Control" modifier key is held down.\n* _`alt`_: The "Alt"/"Option" modifier key is held down.
MOUSE_DRAG buffer.MOUSE_DRAG (number, Read-only)\n
MOUSE_PRESS buffer.MOUSE_PRESS (number, Read-only)\n
MOUSE_RELEASE buffer.MOUSE_RELEASE (number, Read-only)\n
MULTIAUTOC_EACH buffer.MULTIAUTOC_EACH (number, Read-only)\n
MULTIAUTOC_ONCE buffer.MULTIAUTOC_ONCE (number, Read-only)\n
MULTIPASTE_EACH buffer.MULTIPASTE_EACH (number, Read-only)\n
MULTIPASTE_ONCE buffer.MULTIPASTE_ONCE (number, Read-only)\n
NAMESPACE textadept.editing.XPM_IMAGES.NAMESPACE (table)\nThe image number for namespaces.
NUMBER lexer.NUMBER (string)\nThe token name for number tokens.
OPERATOR lexer.OPERATOR (string)\nThe token name for operator tokens.
ORDER_CUSTOM buffer.ORDER_CUSTOM (number, Read-only)\n
ORDER_PERFORMSORT buffer.ORDER_PERFORMSORT (number, Read-only)\n
ORDER_PRESORTED buffer.ORDER_PRESORTED (number, Read-only)\n
OSX _G.OSX (bool)\nWhether or not Textadept is running on Mac OSX as a GUI application.
P lpeg.P(value)\nConverts the given value into a proper pattern, according to the following\nrules:\n  * If the argument is a pattern, it is returned unmodified.\n  * If the argument is a string, it is translated to a pattern that matches\n    the string literally.\n  * If the argument is a non-negative number n, the result is a pattern that\n    matches exactly n characters.\n  * If the argument is a negative number -n, the result is a pattern that\n    succeeds only if the input string has less than n characters left:\n    `lpeg.P(-n)` is equivalent to `-lpeg.P(n)` (see the unary minus\n    operation).\n  * If the argument is a boolean, the result is a pattern that always\n    succeeds or always fails (according to the boolean value), without\n    consuming any input.\n  * If the argument is a table, it is interpreted as a grammar (see\n    Grammars).\n  * If the argument is a function, returns a pattern equivalent to a\n    match-time capture over the empty string.
PREPROCESSOR lexer.PREPROCESSOR (string)\nThe token name for preprocessor tokens.
QUIT events.QUIT (string)\nEmitted when quitting Textadept.\nWhen connecting to this event, connect with an index of 1 if the handler\nneeds to run before Textadept closes all open buffers. If a handler returns\n`true`, Textadept does not quit. It is not recommended to return `false`\nfrom a quit handler, as that may interfere with Textadept's normal shutdown\nprocedure.\nEmitted by `quit()`.
R lpeg.R({range})\nReturns a pattern that matches any single character belonging to one of the\ngiven ranges. Each `range` is a string xy of length 2, representing all\ncharacters with code between the codes of x and y (both inclusive).\n\nAs an example, the pattern `lpeg.R("09")` matches any digit, and\n`lpeg.R("az", "AZ")` matches any ASCII letter.
REGEX lexer.REGEX (string)\nThe token name for regex tokens.
REPLACE events.REPLACE (string)\nEmitted to replace selected (found) text.\nArguments:\n\n* _`text`_: The replacement text.
REPLACE_ALL events.REPLACE_ALL (string)\nEmitted to replace all occurrences of found text.\nArguments:\n\n* _`find_text`_: The text to search for.\n* _`repl_text`_: The replacement text.
RESET_AFTER events.RESET_AFTER (string)\nEmitted after resetting the Lua state.\nEmitted by `reset()`.
RESET_BEFORE events.RESET_BEFORE (string)\nEmitted before resetting the Lua state.\nEmitted by `reset()`.
RUN_OUTPUT events.RUN_OUTPUT (string)\nEmitted when executing a language's run shell command.\nBy default, output is printed to the message buffer. To override this\nbehavior, connect to the event with an index of `1` and return `true`.\nArguments:\n\n* `lexer`: The language's lexer name.\n* `output`: A line of string output from the command.
S lpeg.S(string)\nReturns a pattern that matches any single character that appears in the given\nstring. (The S stands for Set.)\n\nAs an example, the pattern `lpeg.S("+-*/")` matches any arithmetic operator.\n\nNote that, if `s` is a character (that is, a string of length 1), then\n`lpeg.P(s)` is equivalent to `lpeg.S(s)` which is equivalent to\n`lpeg.R(s..s)`. Note also that both `lpeg.S("")` and `lpeg.R()` are patterns\nthat always fail.
SAVE_ON_QUIT textadept.session.SAVE_ON_QUIT (bool)\nSave the session when quitting.\nThe session file saved is always `textadept.session.DEFAULT_SESSION`, even\nif a different session was loaded with `textadept.session.load()`.\nThe default value is `true` unless the user passed the command line switch\n`-n` or `--nosession` to Textadept.
SAVE_POINT_LEFT events.SAVE_POINT_LEFT (string)\nEmitted after leaving a save point.
SAVE_POINT_REACHED events.SAVE_POINT_REACHED (string)\nEmitted after reaching a save point.
SEL_LINES buffer.SEL_LINES (number, Read-only)\n
SEL_RECTANGLE buffer.SEL_RECTANGLE (number, Read-only)\n
SEL_STREAM buffer.SEL_STREAM (number, Read-only)\n
SEL_THIN buffer.SEL_THIN (number, Read-only)\n
SIGNAL textadept.editing.XPM_IMAGES.SIGNAL (table)\nThe image number for signals.
SILENT_PRINT ui.SILENT_PRINT (bool)\nWhether or not to print messages to buffers silently.\nThe default value is `false`, and focuses buffers when messages are printed\nto them.
SLOT textadept.editing.XPM_IMAGES.SLOT (table)\nThe image number for slots.
SNAPOPEN_MAX io.SNAPOPEN_MAX (number)\nThe maximum number of files listed in the snapopen dialog.\nThe default value is `1000`.
STRING lexer.STRING (string)\nThe token name for string tokens.
STRIP_TRAILING_SPACES textadept.editing.STRIP_TRAILING_SPACES (bool)\nStrip trailing whitespace before saving files.\nThe default value is `false`.
STRUCT textadept.editing.XPM_IMAGES.STRUCT (table)\nThe image number for structures.
STYLE_BRACEBAD buffer.STYLE_BRACEBAD (number, Read-only)\n
STYLE_BRACEBAD lexer.STYLE_BRACEBAD (string)\nThe style used for unmatched brace characters.
STYLE_BRACELIGHT buffer.STYLE_BRACELIGHT (number, Read-only)\n
STYLE_BRACELIGHT lexer.STYLE_BRACELIGHT (string)\nThe style used for highlighted brace characters.
STYLE_CALLTIP buffer.STYLE_CALLTIP (number, Read-only)\n
STYLE_CALLTIP lexer.STYLE_CALLTIP (string)\nThe style used by call tips if `buffer.call_tip_use_style` is set.\nOnly the font name, size, and color attributes are used.
STYLE_CLASS lexer.STYLE_CLASS (string)\nThe style typically used for class definitions.
STYLE_COMMENT lexer.STYLE_COMMENT (string)\nThe style typically used for code comments.
STYLE_CONSTANT lexer.STYLE_CONSTANT (string)\nThe style typically used for constants.
STYLE_CONTROLCHAR buffer.STYLE_CONTROLCHAR (number, Read-only)\n
STYLE_CONTROLCHAR lexer.STYLE_CONTROLCHAR (string)\nThe style used for control characters.\nColor attributes are ignored.
STYLE_DEFAULT buffer.STYLE_DEFAULT (number, Read-only)\n
STYLE_DEFAULT lexer.STYLE_DEFAULT (string)\nThe style all styles are based off of.
STYLE_EMBEDDED lexer.STYLE_EMBEDDED (string)\nThe style typically used for embedded code.
STYLE_ERROR lexer.STYLE_ERROR (string)\nThe style typically used for erroneous syntax.
STYLE_FUNCTION lexer.STYLE_FUNCTION (string)\nThe style typically used for function definitions.
STYLE_IDENTIFIER lexer.STYLE_IDENTIFIER (string)\nThe style typically used for identifier words.
STYLE_INDENTGUIDE buffer.STYLE_INDENTGUIDE (number, Read-only)\n
STYLE_INDENTGUIDE lexer.STYLE_INDENTGUIDE (string)\nThe style used for indentation guides.
STYLE_KEYWORD lexer.STYLE_KEYWORD (string)\nThe style typically used for language keywords.
STYLE_LABEL lexer.STYLE_LABEL (string)\nThe style typically used for labels.
STYLE_LINENUMBER buffer.STYLE_LINENUMBER (number, Read-only)\n
STYLE_LINENUMBER lexer.STYLE_LINENUMBER (string)\nThe style used for all margins except fold margins.
STYLE_MAX buffer.STYLE_MAX (number, Read-only)\n
STYLE_NUMBER lexer.STYLE_NUMBER (string)\nThe style typically used for numbers.
STYLE_OPERATOR lexer.STYLE_OPERATOR (string)\nThe style typically used for operators.
STYLE_PREPROCESSOR lexer.STYLE_PREPROCESSOR (string)\nThe style typically used for preprocessor statements.
STYLE_REGEX lexer.STYLE_REGEX (string)\nThe style typically used for regular expression strings.
STYLE_STRING lexer.STYLE_STRING (string)\nThe style typically used for strings.
STYLE_TYPE lexer.STYLE_TYPE (string)\nThe style typically used for static types.
STYLE_VARIABLE lexer.STYLE_VARIABLE (string)\nThe style typically used for variables.
STYLE_WHITESPACE lexer.STYLE_WHITESPACE (string)\nThe style typically used for whitespace.
TIME_FOREVER buffer.TIME_FOREVER (number, Read-only)\n
TYPE lexer.TYPE (string)\nThe token name for type tokens.
TYPEDEF textadept.editing.XPM_IMAGES.TYPEDEF (table)\nThe image number for type definitions.
TYPEOVER_CHARS textadept.editing.TYPEOVER_CHARS (bool)\nMove over closing brace and quote characters under the caret when typing\nthem.\nThe default value is `true`.\nTypeover characters are defined in the\n`textadept.editing.typeover_chars` table.
UPDATE_CONTENT buffer.UPDATE_CONTENT (number, Read-only)\n
UPDATE_H_SCROLL buffer.UPDATE_H_SCROLL (number, Read-only)\n
UPDATE_SELECTION buffer.UPDATE_SELECTION (number, Read-only)\n
UPDATE_UI events.UPDATE_UI (string)\nEmitted after the view is visually updated.\nArguments:\n\n* _`updated`_: A bitmask of changes since the last update.\n\n  + `buffer.UPDATE_CONTENT`\n    Buffer contents, styling, or markers have changed.\n  + `buffer.UPDATE_SELECTION`\n    Buffer selection has changed.\n  + `buffer.UPDATE_V_SCROLL`\n    Buffer has scrolled vertically.\n  + `buffer.UPDATE_H_SCROLL`\n    Buffer has scrolled horizontally.
UPDATE_V_SCROLL buffer.UPDATE_V_SCROLL (number, Read-only)\n
URI_DROPPED events.URI_DROPPED (string)\nEmitted after dragging and dropping a URI into a view.\nArguments:\n\n* _`text`_: The UTF-8-encoded URI dropped.
USER_LIST_SELECTION events.USER_LIST_SELECTION (string)\nEmitted after selecting an item in a user list.\nArguments:\n\n* _`id`_: The *id* from `buffer.user_list_show()`.\n* _`text`_: The selection's text.\n* _`position`_: The position the list was displayed at.
V lpeg.V(v)\nThis operation creates a non-terminal (a variable) for a grammar. The created\nnon-terminal refers to the rule indexed by `v` in the enclosing grammar. (See\nGrammars for details.)
VARIABLE lexer.VARIABLE (string)\nThe token name for variable tokens.
VARIABLE textadept.editing.XPM_IMAGES.VARIABLE (table)\nThe image number for variables.
VIEW_AFTER_SWITCH events.VIEW_AFTER_SWITCH (string)\nEmitted right after switching to another view.\nEmitted by `ui.goto_view()`.
VIEW_BEFORE_SWITCH events.VIEW_BEFORE_SWITCH (string)\nEmitted right before switching to another view.\nEmitted by `ui.goto_view()`.
VIEW_NEW events.VIEW_NEW (string)\nEmitted after creating a new view.\nEmitted on startup and by `view.split()`.
VISIBLE_SLOP buffer.VISIBLE_SLOP (number, Read-only)\n
VISIBLE_STRICT buffer.VISIBLE_STRICT (number, Read-only)\n
VS_NONE buffer.VS_NONE (number, Read-only)\n
VS_RECTANGULARSELECTION buffer.VS_RECTANGULARSELECTION (number, Read-only)\n
VS_USERACCESSIBLE buffer.VS_USERACCESSIBLE (number, Read-only)\n
WHITESPACE lexer.WHITESPACE (string)\nThe token name for whitespace tokens.
WIN32 _G.WIN32 (bool)\nWhether or not Textadept is running on Windows.
WRAPINDENT_FIXED buffer.WRAPINDENT_FIXED (number, Read-only)\n
WRAPINDENT_INDENT buffer.WRAPINDENT_INDENT (number, Read-only)\n
WRAPINDENT_SAME buffer.WRAPINDENT_SAME (number, Read-only)\n
WRAPVISUALFLAGLOC_DEFAULT buffer.WRAPVISUALFLAGLOC_DEFAULT (number, Read-only)\n
WRAPVISUALFLAGLOC_END_BY_TEXT buffer.WRAPVISUALFLAGLOC_END_BY_TEXT (number, Read-only)\n
WRAPVISUALFLAGLOC_START_BY_TEXT buffer.WRAPVISUALFLAGLOC_START_BY_TEXT (number, Read-only)\n
WRAPVISUALFLAG_END buffer.WRAPVISUALFLAG_END (number, Read-only)\n
WRAPVISUALFLAG_MARGIN buffer.WRAPVISUALFLAG_MARGIN (number, Read-only)\n
WRAPVISUALFLAG_NONE buffer.WRAPVISUALFLAG_NONE (number, Read-only)\n
WRAPVISUALFLAG_START buffer.WRAPVISUALFLAG_START (number, Read-only)\n
WRAP_CHAR buffer.WRAP_CHAR (number, Read-only)\n
WRAP_NONE buffer.WRAP_NONE (number, Read-only)\n
WRAP_WHITESPACE buffer.WRAP_WHITESPACE (number, Read-only)\n
WRAP_WORD buffer.WRAP_WORD (number, Read-only)\n
WS_INVISIBLE buffer.WS_INVISIBLE (number, Read-only)\n
WS_VISIBLEAFTERINDENT buffer.WS_VISIBLEAFTERINDENT (number, Read-only)\n
WS_VISIBLEALWAYS buffer.WS_VISIBLEALWAYS (number, Read-only)\n
XPM_IMAGES textadept.editing.XPM_IMAGES (table)\nMap of image names to registered image numbers.
_BUFFERS _G._BUFFERS (table)\nTable of all open buffers in Textadept.\nNumeric keys have buffer values and buffer keys have their associated numeric\nkeys.\n@see _G.buffer
_CHARSET _G._CHARSET (string)\nThe filesystem's character encoding.\nThis is used when working with files.
_G _G._G (module)\nLua _G module.
_G _G._G (table)\nA global variable (not a function) that holds the global environment\n(see §2.2). Lua itself does not use this variable; changing its value does\nnot affect any environment, nor vice-versa.
_HOME _G._HOME (string)\nThe path to Textadept's home, or installation, directory.
_L _G._L (module)\nMap of all messages used by Textadept to their localized form.\nIf the table does not contain the localized version of a given message, it\nreturns a string that starts with "No Localization:" via a metamethod.
_LEXBYLINE lexer.lexer._LEXBYLINE (table)\nIndicates the lexer can only process one whole line of text\n   (instead of an arbitrary chunk of text) at a time.\n   The default value is `false`. Line lexers cannot look ahead to subsequent\n   lines.
_M _G._M (module)\nA table of loaded Textadept language modules.
_NAME lexer.lexer._NAME (table)\nThe string name of the lexer.
_RELEASE _G._RELEASE (string)\nThe Textadept release version string.
_RULES lexer.lexer._RULES (table)\nA map of rule name keys with their associated LPeg pattern\n  values for the lexer.\n  This is constructed from the lexer's `_rules` table and accessible to other\n  lexers for embedded lexer applications like modifying parent or child\n  rules.
_SCINTILLA _G._SCINTILLA (module)\nScintilla constants, functions, and properties.\nDo not modify anything in this module. Doing so will have unpredictable\nconsequences.
_USERHOME _G._USERHOME (string)\nThe path to the user's *~/.textadept/* directory, where all preferences and\nuser-data is stored.\nOn Windows machines *~/* is the value of the "USERHOME" environment\nvariable (typically *C:\Users\username\\* or\n*C:\Documents and Settings\username\\*). On Linux, BSD, and Mac OSX\nmachines *~/* is the value of "$HOME" (typically */home/username/* and\n*/Users/username/* respectively).
_VERSION _G._VERSION (string)\nA global variable (not a function) that holds a string containing the\ncurrent interpreter version. The current contents of this variable is\n"`Lua 5.2`".
_VIEWS _G._VIEWS (table)\nTable of all views in Textadept.\nNumeric keys have view values and view keys have their associated numeric\nkeys.\n@see _G.view
_cancel_current textadept.snippets._cancel_current()\nCancels the active snippet, removing all inserted text.
_fold lexer.lexer._fold (table)\nIf this function exists in the lexer, it is called for folding\n  the document instead of using `_foldsymbols` or indentation.
_foldsymbols lexer.lexer._foldsymbols (table)\nA table of recognized fold points for the lexer.\n  Keys are token names with table values defining fold points. Those table\n  values have string keys of keywords or characters that indicate a fold\n  point whose values are integers. A value of `1` indicates a beginning fold\n  point and a value of `-1` indicates an ending fold point. Values can also\n  be functions that return `1`, `-1`, or `0` (indicating no fold point) for\n  keys which need additional processing.\n  There is also a required `_pattern` key whose value is a table containing\n  Lua pattern strings that match all fold points (the string keys contained\n  in token name table values). When the lexer encounters text that matches\n  one of those patterns, the matched text is looked up in its token's table\n  to determine whether or not it is a fold point.
_insert textadept.snippets._insert(text)\nInserts snippet text *text* or the snippet assigned to the trigger word\nbehind the caret.\nOtherwise, if a snippet is active, goes to the active snippet's next\nplaceholder. Returns `false` if no action was taken.\n@param text Optional snippet text to insert. If `nil`, attempts to insert a\n  new snippet based on the trigger, the word behind caret, and the current\n  lexer.\n@return `false` if no action was taken; `nil` otherwise.\n@see buffer.word_chars
_lexer lexer.lexer._lexer (table)\nThe parent lexer object whose rules should be used. This field\n  is only necessary to disambiguate a proxy lexer that loaded parent and\n  child lexers for embedding and ended up having multiple parents loaded.
_previous textadept.snippets._previous()\nJumps back to the previous snippet placeholder, reverting any changes from\nthe current one.\nReturns `false` if no snippet is active.\n@return `false` if no snippet is active; `nil` otherwise.
_print ui._print(buffer_type, ...)\nPrints the given string messages to the buffer of type *buffer_type*.\nOpens a new buffer for printing messages to if necessary. If the message\nbuffer is already open in a view, the message is printed to that view.\nOtherwise the view is split (unless `ui.tabs` is `true`) and the message\nbuffer is displayed before being printed to.\n@param buffer_type String type of message buffer.\n@param ... Message strings.\n@usage ui._print(_L['[Message Buffer]'], message)
_rules lexer.lexer._rules (table)\nAn ordered list of rules for a lexer grammar.\n  Each rule is a table containing an arbitrary rule name and the LPeg pattern\n  associated with the rule. The order of rules is important as rules are\n  matched sequentially.\n  Child lexers should not use this table to access and/or modify their\n  parent's rules and vice-versa. Use the `_RULES` table instead.
_select textadept.snippets._select()\nPrompts the user to select a snippet to be inserted from a list of global and\nlanguage-specific snippets.
_tokenstyles lexer.lexer._tokenstyles (table)\nA map of non-predefined token names to styles.\n  Remember to use token names, not rule names. It is recommended to use\n  predefined styles or color-agnostic styles derived from predefined styles\n  to ensure compatibility with user color themes.
abs math.abs(x)\nReturns the absolute value of `x`.
abspath lfs.abspath(filename, prefix)\nReturns the absolute path to string *filename*.\n*prefix* or `lfs.currentdir()` is prepended to a relative filename. The\nreturned path is not guaranteed to exist.\n@param filename The relative or absolute path to a file.\n@param prefix Optional prefix path prepended to a relative filename.\n@return string absolute path
acos math.acos(x)\nReturns the arc cosine of `x` (in radians).
add_selection buffer.add_selection(buffer, end_pos, start_pos)\nSelects the range of text between positions *start_pos* to *end_pos* as the\nmain selection, retaining all other selections as additional selections.\nSince an empty selection still counts as a selection, use\n`buffer.set_selection()` first when setting a list of selections.\n@param buffer A buffer.\n@param end_pos The caret position of the range of text to select in *buffer*.\n@param start_pos The anchor position of the range of text to select in\n  *buffer*.\n@see set_selection
add_text buffer.add_text(buffer, text)\nAdds string *text* to the buffer at the caret position and moves the caret to\nthe end of the added text without scrolling it into view.\n@param buffer A buffer.\n@param text The text to add.
additional_caret_fore buffer.additional_caret_fore (number)\nThe foreground color, in "0xBBGGRR" format, of additional carets.
additional_carets_blink buffer.additional_carets_blink (bool)\nAllow additional carets to blink.\nThe default value is `true`.
additional_carets_visible buffer.additional_carets_visible (bool)\nDisplay additional carets.\nThe default value is `true`.
additional_sel_alpha buffer.additional_sel_alpha (number)\nThe alpha value, ranging from `0` (transparent) to `255` (opaque), of\nadditional selections.\nThe default value is `buffer.ALPHA_NOALPHA`, for no alpha.
additional_sel_back buffer.additional_sel_back (number, Write-only)\nThe background color, in "0xBBGGRR" format, of additional selections.\nThis field has no effect when calling `buffer.set_sel_back(false, ...)`.
additional_sel_fore buffer.additional_sel_fore (number, Write-only)\nThe foreground color, in "0xBBGGRR" format, of additional selections.\nThis field has no effect when calling `buffer.set_sel_fore(false, ...)`.
additional_selection_typing buffer.additional_selection_typing (bool)\nType into multiple selections.\nThe default value is `false`.
all_lines_visible buffer.all_lines_visible (bool, Read-only)\nWhether or not all lines are visible.
allocate_extended_styles buffer.allocate_extended_styles(buffer, num_styles)\nAllocates an additional *num_styles* number of styles for use by margins or\nannotations and returns the starting style number of the new range.\nThese styles are outside the 0..255 range used by lexers.\n@param buffer A buffer\n@param num_styles The number of additional styles to allocate.\n@return number\n@see annotation_style_offset\n@see margin_style_offset
alnum lexer.alnum (pattern)\nA pattern that matches any alphanumeric character ('A'-'Z', 'a'-'z',\n  '0'-'9').
alpha lexer.alpha (pattern)\nA pattern that matches any alphabetic character ('A'-'Z', 'a'-'z').
anchor buffer.anchor (number)\nThe anchor's position.
annotation_clear_all buffer.annotation_clear_all(buffer)\nClears annotations from all lines.\n@param buffer A buffer.
annotation_lines buffer.annotation_lines (table, Read-only)\nTable of the number of annotation text lines for line numbers starting from\nzero.
annotation_style buffer.annotation_style (table)\nTable of style numbers for annotation text for line numbers starting from\nzero.\nOnly some style attributes are active in annotations: font,\nsize/size_fractional, bold/weight, italics, fore, back, and character_set.
annotation_style_offset buffer.annotation_style_offset (number)\nThe beginning of the range of style numbers used for annotations.\nAlways set this to the result of `buffer.allocate_extended_styles()`.\nAnnotation styles may be completely separated from standard text styles by\nsetting a style offset. For example, when set to `512`, annotation styles\nare numbered from `512` upto `767` so they do not overlap styles set by\nlexers (or margins if margins offset is `256`). Each style number set with\n`annotation_style` has the offset added before looking up the style.\nThe default value is `0`.
annotation_text buffer.annotation_text (table)\nTable of annotation text for line numbers starting from zero.
annotation_visible buffer.annotation_visible (number)\nThe annotation visibility mode.\n\n* `buffer.ANNOTATION_HIDDEN`\n  Annotations are invisible.\n* `buffer.ANNOTATION_STANDARD`\n  Draw annotations left-justified with no decoration.\n* `buffer.ANNOTATION_BOXED`\n  Indent annotations to match the annotated text and outline them with a\n  box.\n\nThe default value is `buffer.ANNOTATION_HIDDEN`.
ansi_c _G.keys.ansi_c (table)\nTable of C-specific key bindings.
ansi_c _G.snippets.ansi_c (table)\nTable of C-specific snippets.
ansi_c _M.ansi_c (module)\nThe ansi_c module.\nIt provides utilities for editing C code.
any lexer.any (pattern)\nA pattern that matches any single character.
api_files textadept.editing.api_files (table)\nMap of lexer names to API documentation file tables.\nEach line in an API file consists of the name of a symbol (not the full\nsymbol), a space character, and that symbol's documentation. '\n' represents\na newline character.\n@see show_documentation
append_text buffer.append_text(buffer, text)\nAppends string *text* to the end of the buffer without modifying any existing\nselections or scrolling the text into view.\n@param buffer A buffer.\n@param text The text to append.
arg _G.arg (table)\nTable of command line parameters passed to Textadept.\n@see args
args _G.args (module)\nProcesses command line arguments for Textadept.
arshift bit32.arshift(x, disp)\nReturns the number `x` shifted `disp` bits to the right. The number `disp`\nmay be any representable integer. Negative displacements shift to the left.\n\nThis shift operation is what is called arithmetic shift. Vacant bits on the\nleft are filled with copies of the higher bit of `x`; vacant bits on the\nright are filled with zeros. In particular, displacements with absolute\nvalues higher than 31 result in zero or `0xFFFFFFFF` (all original bits are\nshifted out).
ascii lexer.ascii (pattern)\nA pattern that matches any ASCII character (codes 0 to 127).
asin math.asin(x)\nReturns the arc sine of `x` (in radians).
assert _G.assert(v [, message])\nIssues an error when the value of its argument `v` is false (i.e.,\nnil or false); otherwise, returns all its arguments. `message` is an error\nmessage; when absent, it defaults to "assertion failed!"
atan math.atan(x)\nReturns the arc tangent of `x` (in radians).
atan2 math.atan2(y, x)\nReturns the arc tangent of `y/x` (in radians), but uses the signs\nof both parameters to find the quadrant of the result. (It also handles\ncorrectly the case of `x` being zero.)
attributes lfs.attributes(filepath [, aname])\nReturns a table with the file attributes corresponding to filepath (or nil\nfollowed by an error message in case of error). If the second optional\nargument is given, then only the value of the named attribute is returned\n(this use is equivalent to lfs.attributes(filepath).aname, but the table is\nnot created and only one attribute is retrieved from the O.S.). The\nattributes are described as follows; attribute mode is a string, all the\nothers are numbers, and the time related attributes use the same time\nreference of os.time:\n  dev: on Unix systems, this represents the device that the inode resides on.\n       On Windows systems, represents the drive number of the disk containing\n       the file\n  ino: on Unix systems, this represents the inode number. On Windows systems\n       this has no meaning\n  mode: string representing the associated protection mode (the values could\n        be file, directory, link, socket, named pipe, char device, block\n        device or other)\n  nlink: number of hard links to the file\n  uid: user-id of owner (Unix only, always 0 on Windows)\n  gid: group-id of owner (Unix only, always 0 on Windows)\n  rdev: on Unix systems, represents the device type, for special file inodes.\n        On Windows systems represents the same as dev\n  access: time of last access\n  modification: time of last data modification\n  change: time of last file status change\n  size: file size, in bytes\n  blocks: block allocated for file; (Unix only)\n  blksize: optimal file system I/O blocksize; (Unix only)\n\nThis function uses stat internally thus if the given filepath is a symbolic\nlink, it is followed (if it points to another link the chain is followed\nrecursively) and the information is about the file it refers to. To obtain\ninformation about the link itself, see function lfs.symlinkattributes.
auto_c_active buffer.auto_c_active(buffer)\nReturns whether or not an autocompletion or user list is visible.\n@param buffer A buffer.\n@return bool
auto_c_auto_hide buffer.auto_c_auto_hide (bool)\nAutomatically cancel an autocompletion or user list when no entries match\ntyped text.\nThe default value is `true`.
auto_c_cancel buffer.auto_c_cancel(buffer)\nCancels an autocompletion or user list.\n@param buffer A buffer.
auto_c_cancel_at_start buffer.auto_c_cancel_at_start (bool)\nCancel an autocompletion list when backspacing to a position before where\nautocompletion started (instead of before the word being completed).\nThis option has no effect for a user list.\nThe default value is `true`.
auto_c_case_insensitive_behaviour buffer.auto_c_case_insensitive_behaviour (number)\nThe behavior mode for a case insensitive autocompletion or user list when\n`buffer.auto_c_ignore_case` is `true`.\n\n* `buffer.CASEINSENSITIVEBEHAVIOUR_RESPECTCASE`\n  Prefer to select case-sensitive matches.\n* `buffer.CASEINSENSITIVEBEHAVIOUR_IGNORECASE`\n  No preference.\n\nThe default value is `buffer.CASEINSENSITIVEBEHAVIOUR_RESPECTCASE`.
auto_c_choose_single buffer.auto_c_choose_single (bool)\nAutomatically choose the item in a single-item autocompletion list.\nThis option has no effect for a user list.\nThe default value is `false`.
auto_c_complete buffer.auto_c_complete(buffer)\nCompletes the current word with the one selected in an autocompletion list.\n@param buffer A buffer.
auto_c_current buffer.auto_c_current (number, Read-only)\nThe index of the currently selected item in an autocompletion or user list.
auto_c_current_text buffer.auto_c_current_text (string, Read-only)\nThe text of the currently selected item in an autocompletion or user list.
auto_c_drop_rest_of_word buffer.auto_c_drop_rest_of_word (bool)\nDelete any word characters immediately to the right of autocompleted text.\nThe default value is `false`.
auto_c_fill_ups buffer.auto_c_fill_ups (string, Write-only)\nThe set of characters that choose the currently selected item in an\nautocompletion or user list when the user types one of them.\nThe default value is `''`.
auto_c_ignore_case buffer.auto_c_ignore_case (bool)\nIgnore case when searching an autocompletion or user list for matches.\nThe default value is `false`.
auto_c_max_height buffer.auto_c_max_height (number)\nThe maximum number of items per page to show in autocompletion and user\nlists. The default value is `5`.
auto_c_max_width buffer.auto_c_max_width (number)\nThe maximum number of characters per item to show in autocompletion and\nuser lists.\nThe default value is `0`, which automatically sizes the width to fit the\nlongest item.
auto_c_multi buffer.auto_c_multi (number)\nThe multiple selection autocomplete mode.\n\n* `buffer.MULTIAUTOC_ONCE`\n  Autocomplete into only the main selection.\n* `buffer.MULTIAUTOC_EACH`\n  Autocomplete into all selections.\n\nThe default value is `buffer.MULTIAUTOC_ONCE`.
auto_c_order buffer.auto_c_order (number)\nThe order setting for autocompletion and user lists.\n\n* `buffer.ORDER_PRESORTED`\n  Lists passed to `buffer.auto_c_show()` are in sorted, alphabetical\n  order.\n* `buffer.ORDER_PERFORMSORT`\n  Sort autocompletion lists passed to `buffer.auto_c_show()`.\n* `buffer.ORDER_CUSTOM`\n  Lists passed to `buffer.auto_c_show()` are already in a custom order.\n\nThe default value is `buffer.ORDER_PRESORTED`.
auto_c_pos_start buffer.auto_c_pos_start(buffer)\nReturns the position where autocompletion started or where a user list was\nshown.\n@param buffer A buffer.\n@return number
auto_c_select buffer.auto_c_select(buffer, prefix)\nSelects the first item that starts with string *prefix* in an autocompletion\nor user list, using the case sensitivity setting `buffer.auto_c_ignore_case`.\n@param buffer A buffer.\n@param prefix The item in the list to select.
auto_c_separator buffer.auto_c_separator (number)\nThe byte value of the character that separates autocompletion and user list\nlist items.\nThe default value is `32` (' ').
auto_c_show buffer.auto_c_show(buffer, len_entered, items)\nDisplays an autocompletion list constructed from string *items* (whose items\nare delimited by `buffer.auto_c_separator` characters) using *len_entered*\nnumber of characters behind the caret as the prefix of the word to be\nautocompleted.\nThe sorted order of *items* (`buffer.auto_c_order`) must have already been\ndefined.\n@param buffer A buffer.\n@param len_entered The number of characters before the caret used to provide\n  the context.\n@param items The sorted string of words to show, separated by\n  `buffer.auto_c_separator` characters (initially spaces).\n@see auto_c_separator\n@see auto_c_order
auto_c_stops buffer.auto_c_stops(buffer, chars)\nAllows the user to type any character in string set *chars* in order to\ncancel an autocompletion or user list.\nThe default set is empty.\n@param buffer A buffer.\n@param chars The string of characters that cancel autocompletion. This string\n  is empty by default.
auto_c_type_separator buffer.auto_c_type_separator (number)\nThe character byte that separates autocompletion and user list items and\ntheir image types.\nAutocompletion and user list items can display both an image and text.\nRegister images and their types using `buffer.register_image()` or\n`buffer.register_rgba_image()` before appending image types to list\nitems after type separator characters.\nThe default value is 63 ('?').
autocomplete textadept.editing.autocomplete(name)\nDisplays an autocompletion list provided by the autocompleter function\nassociated with string *name*, and returns `true` if completions were found.\n@param name The name of an autocompleter function in the `autocompleters`\n  table to use for providing autocompletions.\n@see autocompleters
autocompleters textadept.editing.autocompleters (table)\nMap of autocompleter names to autocompletion functions.\nNames are typically lexer names and autocompletion functions typically\nautocomplete symbols.\nAutocompletion functions must return two values: the number of characters\nbehind the caret that are used as the prefix of the entity to autocomplete,\nand a list of completions to show. Autocompletion lists are sorted\nautomatically.\n@see autocomplete
back_space_un_indents buffer.back_space_un_indents (bool)\nUn-indent text when backspacing within indentation.\nThe default value is `false`.
back_tab buffer.back_tab(buffer)\nUn-indents the text on the selected lines.\n@param buffer A buffer.
band bit32.band(...)\nReturns the bitwise "and" of its operands.
begin_undo_action buffer.begin_undo_action(buffer)\nStarts a sequence of actions to be undone or redone as a single action.\nMay be nested.\n@param buffer A buffer.
bit32 _G.bit32 (module)\nLua bit32 module.
block_comment textadept.editing.block_comment()\nComments or uncomments the selected lines based on the current language.\nAs long as any part of a line is selected, the entire line is eligible for\ncommenting/uncommenting.\n@see comment_string
bnot bit32.bnot(x)\nReturns the bitwise negation of `x`. For any integer `x`, the following\nidentity holds:\n\n  assert(bit32.bnot(x) == (-1 - x) % 2^32)
boms io.boms (table)\nList of byte-order marks (BOMs) for identifying unicode file encodings.
bookmarks textadept.bookmarks (module)\nBookmarks for Textadept.
bor bit32.bor(...)\nReturns the bitwise "or" of its operands.
brace_bad_light buffer.brace_bad_light(buffer, pos)\nHighlights the character at position *pos* as an unmatched brace character\nusing the `'style.bracebad'` style.\nRemoves highlighting when *pos* is `-1`.\n@param buffer A buffer.\n@param pos The position in *buffer* to highlight, or `-1` to remove the\n  highlight.
brace_bad_light_indicator buffer.brace_bad_light_indicator(buffer, use_indicator, indicator)\nHighlights unmatched brace characters with indicator number *indicator*, in\nthe range of `0` to `31`, instead of the\n`buffer.STYLE_BRACEBAD` style if *use_indicator* is `true`.\n@param buffer A buffer.\n@param use_indicator Whether or not to use an indicator.\n@param indicator The indicator number to use.
brace_highlight buffer.brace_highlight(buffer, pos1, pos2)\nHighlights the characters at positions *pos1* and *pos2* as matching braces\nusing the `'style.bracelight'` style.\nIf indent guides are enabled, locates the column with `buffer.column` and\nsets `buffer.highlight_guide` in order to highlight the indent guide.\n@param buffer A buffer.\n@param pos1 The first position in *buffer* to highlight.\n@param pos2 The second position in *buffer* to highlight.
brace_highlight_indicator buffer.brace_highlight_indicator(buffer, use_indicator, indicator)\nHighlights matching brace characters with indicator number *indicator*, in\nthe range of `0` to `31`, instead of the\n`buffer.STYLE_BRACELIGHT` style if *use_indicator* is `true`.\n@param buffer A buffer.\n@param use_indicator Whether or not to use an indicator.\n@param indicator The indicator number to use.
brace_match buffer.brace_match(buffer, pos)\nReturns the position of the matching brace for the brace character at\nposition *pos*, taking nested braces into account, or `-1`.\nThe brace characters recognized are '(', ')', '[', ']', '{', '}', '<', and\n'>' and must have the same style.\n@param buffer A buffer.\n@param pos The position of the brace in *buffer* to match.\n@return number
braces textadept.editing.braces (table)\nTable of brace characters to highlight, with language-specific brace\ncharacter tables assigned to a lexer name key.\nThe ASCII values of brace characters are keys and are assigned non-`nil`\nvalues. The default brace characters are '(', ')', '[', ']', '{', and '}'.
btest bit32.btest(...)\nReturns a boolean signaling whether the bitwise "and" of its operands is\ndifferent from zero.
buffer _G.buffer (module)\nA Textadept buffer object.\nConstants are documented in the fields they apply to.\nWhile you can work with individual buffer instances, it is really only useful\nto work with the global one.
buffer _G.buffer (table)\nThe current buffer in the current view.
buffer view.buffer (table)\nThe buffer the view contains. (Read-only)
buffered_draw buffer.buffered_draw (bool)\nBuffer drawing to avoid flickering.\nBuffering draws each line of text into a bitmap buffer before drawing the\nbitmap to the screen.\nThe default value is `true`.
bufstatusbar_text ui.bufstatusbar_text (string, Write-only)\nThe text displayed in the buffer statusbar.
build textadept.run.build()\nBuilds the current project (based on the buffer's filename or the current\nworking directory) using the shell command from the `build_commands` table.\nIf a "makefile" type of build file is found, prompts the user for the full\nbuild command.\nEmits `BUILD_OUTPUT` events.\n@see build_commands\n@see _G.events
build_commands textadept.run.build_commands (table)\nMap of project root paths and "makefiles" to their associated "build" shell\ncommand line strings or functions that return such strings.
byte string.byte(s [, i [, j]])\nReturns the internal numerical codes of the characters `s[i]`, `s[i+1]`,\n..., `s[j]`. The default value for `i` is 1; the default value for `j`\nis `i`. These indices are corrected following the same rules of function\n`string.sub`.\n\nNumerical codes are not necessarily portable across platforms.
call_tip_active buffer.call_tip_active(buffer)\nReturns whether or not a call tip is visible.\n@param buffer A buffer.\n@return bool
call_tip_cancel buffer.call_tip_cancel(buffer)\nRemoves a call tip from view.\n@param buffer A buffer.
call_tip_fore_hlt buffer.call_tip_fore_hlt (number, Write-only)\nA call tip's highlighted text foreground color, in "0xBBGGRR" format.
call_tip_pos_start buffer.call_tip_pos_start (number, Write-only)\nThe position in which backspacing beyond it hides a visible call tip.
call_tip_pos_start buffer.call_tip_pos_start(buffer)\nReturns a call tip's display position.\n@param buffer A buffer.\n@return number
call_tip_position buffer.call_tip_position (boolean)\nDisplay a call tip above the current line instead of below it.\nThe default value is `false`.
call_tip_set_hlt buffer.call_tip_set_hlt(buffer, start_pos, end_pos)\nHighlights a call tip's text between positions *start_pos*, starting from\nzero, to *end_pos* with the color `buffer.call_tip_fore_hlt`.\n@param buffer A buffer.\n@param start_pos The start position in a call tip text to highlight.\n@param end_pos The end position in a call tip text to highlight.
call_tip_show buffer.call_tip_show(buffer, pos, text)\nDisplays a call tip at position *pos* with string *text* as the call tip's\ncontents.\nAny "\001" or "\002" bytes in *text* are replaced by clickable up or down\narrow visuals, respectively. These may be used to indicate that a symbol has\nmore than one call tip, for example.\n@param buffer A buffer.\n@param pos The position in *buffer* to show a call tip at.\n@param text The call tip text to show.
call_tip_use_style buffer.call_tip_use_style (number)\nThe pixel width of tab characters in call tips.\nWhen non-zero, also enables the use of style number `buffer.STYLE_CALLTIP`\ninstead of `buffer.STYLE_DEFAULT` for call tip styles.\nThe default value is `0`.
can_redo buffer.can_redo(buffer)\nReturns whether or not there is an action to be redone.\n@param buffer A buffer.\n@return bool
can_undo buffer.can_undo(buffer)\nReturns whether or not there is an action to be undone.\n@param buffer A buffer.\n@return bool
cancel buffer.cancel(buffer)\nCancels the active selection mode, autocompletion or user list, call tip,\netc.\n@param buffer A buffer.
caret_fore buffer.caret_fore (number)\nThe caret's foreground color, in "0xBBGGRR" format.
caret_line_back buffer.caret_line_back (number)\nThe background color, in "0xBBGGRR" format, of the line that contains the\ncaret.
caret_line_back_alpha buffer.caret_line_back_alpha (number)\nThe caret line's background alpha value, ranging from `0` (transparent) to\n`255` (opaque).\nThe default value is `buffer.ALPHA_NOALPHA`, for no alpha.
caret_line_visible buffer.caret_line_visible (bool)\nColor the background of the line that contains the caret a different color.\nThe default value is `false`.
caret_line_visible_always buffer.caret_line_visible_always (bool)\nAlways show the caret line, even when the window is not in focus.\nThe default value is `false`, showing the line only when the window is in\nfocus.
caret_period buffer.caret_period (number)\nThe time between caret blinks in milliseconds.\nA value of `0` stops blinking.\nThe default value is `500`.
caret_sticky buffer.caret_sticky (number)\nThe caret's preferred horizontal position when moving between lines.\n\n* `buffer.CARETSTICKY_OFF`\n  Use the same position the caret had on the previous line.\n* `buffer.CARETSTICKY_ON`\n  Use the last position the caret was moved to via the mouse, left/right\n  arrow keys, home/end keys, etc. Typing text does not affect the position.\n* `buffer.CARETSTICKY_WHITESPACE`\n  Use the position the caret had on the previous line, but prior to any\n  inserted indentation.\n\nThe default value is `buffer.CARETSTICKY_OFF`.
caret_style buffer.caret_style (number)\nThe caret's visual style.\n\n* `buffer.CARETSTYLE_INVISIBLE`\n  No caret.\n* `buffer.CARETSTYLE_LINE`\n  A line caret.\n* `buffer.CARETSTYLE_BLOCK`\n  A block caret.\n\nThe default value is `buffer.CARETSTYLE_LINE`.
caret_width buffer.caret_width (number)\nThe line caret's pixel width in insert mode, either `0`, `1`, `2`, or `3`.\nThe default value is `1`.
ceil math.ceil(x)\nReturns the smallest integer larger than or equal to `x`.
char string.char(···)\nReceives zero or more integers. Returns a string with length equal to\nthe number of arguments, in which each character has the internal numerical\ncode equal to its corresponding argument.\n\nNumerical codes are not necessarily portable across platforms.
char_at buffer.char_at (table, Read-only)\nTable of character bytes at positions starting from zero.
char_left buffer.char_left(buffer)\nMoves the caret left one character.\n@param buffer A buffer.
char_left_extend buffer.char_left_extend(buffer)\nMoves the caret left one character, extending the selected text to the new\nposition.\n@param buffer A buffer.
char_left_rect_extend buffer.char_left_rect_extend(buffer)\nMoves the caret left one character, extending the rectangular selection to\nthe new position.\n@param buffer A buffer.
char_matches textadept.editing.char_matches (table)\nMap of auto-paired characters like parentheses, brackets, braces, and quotes,\nwith language-specific auto-paired character maps assigned to a lexer name\nkey.\nThe ASCII values of opening characters are assigned to strings that contain\ncomplement characters. The default auto-paired characters are "()", "[]",\n"{}", "''", and """".\n@see AUTOPAIR
char_right buffer.char_right(buffer)\nMoves the caret right one character.\n@param buffer A buffer.
char_right_extend buffer.char_right_extend(buffer)\nMoves the caret right one character, extending the selected text to the new\nposition.\n@param buffer A buffer.
char_right_rect_extend buffer.char_right_rect_extend(buffer)\nMoves the caret right one character, extending the rectangular selection to\nthe new position.\n@param buffer A buffer.
chdir lfs.chdir(path)\nChanges the current working directory to the given path.\n\nReturns true in case of success or nil plus an error string.
choose_caret_x buffer.choose_caret_x(buffer)\nIdentifies the current horizontal caret position as the caret's preferred\nhorizontal position when moving between lines.\n@param buffer A buffer.\n@see caret_sticky
clear buffer.clear(buffer)\nDeletes the selected text or the character at the caret.\n@param buffer A buffer.
clear textadept.bookmarks.clear()\nClears all bookmarks in the current buffer.
clear_all buffer.clear_all(buffer)\nDeletes the buffer's text.\n@param buffer A buffer.
clear_document_style buffer.clear_document_style(buffer)\nClears all styling and folding information.\n@param buffer A buffer.
clear_registered_images buffer.clear_registered_images(buffer)\nClears all images registered using `buffer.register_image()` and\n`buffer.register_rgba_image()`.\n@param buffer A buffer.
clear_representation buffer.clear_representation(buffer, char)\nRemoves the alternate string representation for character *char*.\n@param buffer A buffer.\n@param char The character in `buffer.representations` to remove the alternate\n  string representation for.
clear_selections buffer.clear_selections(buffer)\nRemoves all selections and moves the caret to the beginning of the buffer.\n@param buffer A buffer.
clipboard_text ui.clipboard_text (string)\nThe text on the clipboard.
clock os.clock()\nReturns an approximation of the amount in seconds of CPU time used by\nthe program.
close file:close()\nCloses `file`. Note that files are automatically closed when their\nhandles are garbage collected, but that takes an unpredictable amount of\ntime to happen.\n\nWhen closing a file handle created with `io.popen`, `file:close` returns the\nsame values returned by `os.execute`.
close io.close([file])\nEquivalent to `file:close()`. Without a `file`, closes the default\noutput file.
close_all_buffers io.close_all_buffers()\nCloses all open buffers, prompting the user to continue if there are unsaved\nbuffers, and returns `true` if the user did not cancel.\nNo buffers are saved automatically. They must be saved manually.\n@return `true` if user did not cancel.\n@see io.close_buffer
close_buffer io.close_buffer()\nCloses the current buffer, prompting the user to continue if there are\nunsaved changes, and returns `true` if the buffer was closed.\n@return `true` if the buffer was closed; `nil` otherwise.
cntrl lexer.cntrl (pattern)\nA pattern that matches any control character (ASCII codes 0 to 31).
collectgarbage _G.collectgarbage([opt [, arg]])\nThis function is a generic interface to the garbage collector. It\nperforms different functions according to its first argument, `opt`:\n  "collect": performs a full garbage-collection cycle. This is the default\n             option.\n  "stop": stops automatic execution of the garbage collector.\n  "restart": restarts automatic execution of the garbage collector.\n  "count": returns the total memory in use by Lua (in Kbytes) and a second\n           value with the total memory in bytes modulo 1024. The first value\n           has a fractional part, so the following equality is always true:\n\n             k, b = collectgarbage("count")\n             assert(k*1024 == math.floor(k)*1024 + b)\n\n           (The second result is useful when Lua is compiled with a non\n           floating-point type for numbers.)\n  "step": performs a garbage-collection step. The step "size" is controlled\n          by `arg` (larger values mean more steps) in a non-specified way. If\n          you want to control the step size you must experimentally tune the\n          value of `arg`. Returns true if the step finished a collection\n          cycle.\n  "setpause": sets `arg` as the new value for the *pause* of the collector\n              (see §2.5). Returns the previous value for *pause*.\n  "setstepmul": sets `arg` as the new value for the *step multiplier*\n                of the collector (see §2.5). Returns the previous value for\n                *step*.\n  "isrunning": returns a boolean that tells whether the collector is running\n               (i.e., not stopped).\n  "generational": changes the collector to generational mode. This is an\n                  experimental feature (see §2.5).\n  "incremental": changes the collector to incremental mode. This is the\n                 default mode.
colourise buffer.colourise(buffer, start_pos, end_pos)\nInstructs the lexer to style and mark fold points in the range of text\nbetween *start_pos* and *end_pos*.\nIf *end_pos* is `-1`, styles and marks to the end of the buffer.\n@param buffer A buffer.\n@param start_pos The start position of the range of text in *buffer* to\n  process.\n@param end_pos The end position of the range of text in *buffer* to process,\n  or `-1` to process from *start_pos* to the end of *buffer*.
column buffer.column (table, Read-only)\nTable of column numbers (taking tab widths into account) for positions\nstarting from zero.\nMulti-byte characters count as single characters.
command_entry ui.command_entry (module)\nTextadept's Command Entry.
comment_string textadept.editing.comment_string (table)\nMap of lexer names to line comment strings for programming languages, used by\nthe `block_comment()` function.\nKeys are lexer names and values are either the language's line comment\nprefixes or block comment delimiters separated by a '|' character.\n@see block_comment
compile textadept.run.compile()\nCompiles the current file based on its extension or language using the\nshell command from the `compile_commands` table.\nEmits `COMPILE_OUTPUT` events.\n@see compile_commands\n@see _G.events
compile_commands textadept.run.compile_commands (table)\nMap of file extensions or lexer names to their associated "compile" shell\ncommand line strings or functions that return such strings.\nCommand line strings may have the following macros:\n\n  + `%f` or `%(filename)`: The file's name, including its extension.\n  + `%e` or `%(filename_noext)`: The file's name, excluding its extension.\n  + `%d` or `%(filedir)`: The current file's directory path.\n  + `%(filepath)`: The current file's full path.
concat table.concat(list [, sep [, i [, j]]])\nGiven a list where all elements are strings or numbers, returns the string\n`list[i]..sep..list[i+1] ··· sep..list[j]`. The default value for `sep` is\nthe empty string, the default for `i` is 1, and the default for `j` is\n`#list`. If `i` is greater than `j`, returns the empty string.
config package.config (string)\nA string describing some compile-time configurations for packages. This\nstring is a sequence of lines:\n  The first line is the directory separator string. Default is '`\`' for\n  Windows and '`/`' for all other systems.\n  The second line is the character that separates templates in a path.\n  Default is '`;`'.\n  The third line is the string that marks the substitution points in a\n  template. Default is '`?`'.\n  The fourth line is a string that, in a path in Windows, is replaced by\n  the executable's directory. Default is '`!`'.\n  The fifth line is a mark to ignore all text before it when building the\n  `luaopen_` function name. Default is '`-`'.
connect events.connect(event, f, index)\nAdds function *f* to the set of event handlers for event *event* at position\n*index*.\nIf *index* not given, appends *f* to the set of handlers. *event* may be any\narbitrary string and does not need to have been previously defined.\n@param event The string event name.\n@param f The Lua function to connect to *event*.\n@param index Optional index to insert the handler into.\n@usage events.connect('my_event', function(msg) ui.print(msg) end)\n@see disconnect
constants _SCINTILLA.constants (table)\nMap of Scintilla constant names to their numeric values.\n@see _G.buffer
context_menu textadept.menu.context_menu (table)\nThe default right-click context menu.
context_menu ui.context_menu (userdata)\nThe buffer's context menu, a `ui.menu()`.\nThis is a low-level field. You probably want to use the higher-level\n`textadept.menu.context_menu`.
contracted_fold_next buffer.contracted_fold_next(buffer, line)\nReturns the line number of the next contracted fold point starting from line\nnumber *line*, or `-1` if none exists.\n@param buffer A buffer.\n@param line The line number in *buffer* to start at.\n@return number
control_structure_patterns _M.lua.control_structure_patterns (table)\nList of patterns for auto-`end` completion for control structures.\n@see try_to_autocomplete_end
control_structure_patterns _M.ruby.control_structure_patterns (table)\nPatterns for auto `end` completion for control structures.\n@see try_to_autocomplete_end
convert_eols buffer.convert_eols(buffer, mode)\nConverts all end of line characters to those in end of line mode *mode*.\n@param buffer A buffer.\n@param mode The end of line mode to convert to. Valid values are:\n  * `buffer.EOL_CRLF`\n  * `buffer.EOL_CR`\n  * `buffer.EOL_LF`
convert_indentation textadept.editing.convert_indentation()\nConverts indentation between tabs and spaces according to `buffer.use_tabs`.\nIf `buffer.use_tabs` is `true`, `buffer.tab_width` indenting spaces are\nconverted to tabs. Otherwise, all indenting tabs are converted to\n`buffer.tab_width` spaces.\n@see buffer.use_tabs
copy buffer.copy(buffer)\nCopies the selected text to the clipboard.\nMultiple selections are copied in order with no delimiters. Rectangular\nselections are copied from top to bottom with end of line characters. Virtual\nspace is not copied.\n@param buffer A buffer.
copy_allow_line buffer.copy_allow_line(buffer)\nCopies the selected text or the current line to the clipboard.\n@param buffer A buffer.
copy_range buffer.copy_range(buffer, start_pos, end_pos)\nCopies the range of text between positions *start_pos* and *end_pos* to the\nclipboard.\n@param buffer A buffer.\n@param start_pos The start position of the range of text in *buffer* to copy.\n@param end_pos The end position of the range of text in *buffer* to copy.
copy_text buffer.copy_text(buffer, text)\nCopies string *text* to the clipboard.\n@param buffer A buffer.\n@param text The text to copy.
coroutine _G.coroutine (module)\nLua coroutine module.
cos math.cos(x)\nReturns the cosine of `x` (assumed to be in radians).
cosh math.cosh(x)\nReturns the hyperbolic cosine of `x`.
count_characters buffer.count_characters(buffer, start_pos, end_pos)\nReturns the number of whole characters (taking multi-byte characters into\naccount) between positions *start_pos* and *end_pos*.\n@param buffer A buffer.\n@param start_pos The start position of the range of text in *buffer* to start\n  counting at.\n@param end_pos The end position of the range of text in *buffer* to stop\n  counting at.\n@return number
cpath package.cpath (string)\nThe path used by `require` to search for a C loader.\nLua initializes the C path `package.cpath` in the same way it initializes\nthe Lua path `package.path`, using the environment variable `LUA_CPATH_5_2`\nor the environment variable `LUA_CPATH` or a default path defined in\n`luaconf.h`.
create coroutine.create(f)\nCreates a new coroutine, with body `f`. `f` must be a Lua\nfunction. Returns this new coroutine, an object with type `"thread"`.
css _G.keys.css (table)\nContainer for CSS-specific key bindings.
css _G.snippets.css (table)\nContainer for CSS-specific snippets.
css _M.css (module)\nThe css module.\nIt provides utilities for editing CSS code.
current_pos buffer.current_pos (number)\nThe caret's position.\nWhen set, does not scroll the caret into view.
currentdir lfs.currentdir()\nReturns a string with the current working directory or nil plus an error\nstring.
cursor buffer.cursor (number)\nThe display cursor type.\n\n* `buffer.CURSORNORMAL`\n  The text insert cursor.\n* `buffer.CURSORARROW`\n  The arrow cursor.\n* `buffer.CURSORWAIT`\n  The wait cursor.\n* `buffer.CURSORREVERSEARROW`\n  The reversed arrow cursor.\n\nThe default value is `buffer.CURSORNORMAL`.
cut buffer.cut(buffer)\nCuts the selected text to the clipboard.\nMultiple selections are copied in order with no delimiters. Rectangular\nselections are copied from top to bottom with end of line characters. Virtual\nspace is not copied.\n@param buffer A buffer.
cwd textadept.run.cwd (string, Read-only)\nThe most recently executed compile or run shell command's working\ndirectory.\nIt is used for going to error messages with relative file paths.
date os.date([format [, time]])\nReturns a string or a table containing date and time, formatted according\nto the given string `format`.\n\nIf the `time` argument is present, this is the time to be formatted\n(see the `os.time` function for a description of this value). Otherwise,\n`date` formats the current time.\n\nIf `format` starts with '`!`', then the date is formatted in Coordinated\nUniversal Time. After this optional character, if `format` is the string\n"`*t`", then `date` returns a table with the following fields: `year` (four\ndigits), `month` (1-12), `day` (1-31), `hour` (0-23), `min` (0-59), `sec`\n(0-61), `wday` (weekday, Sunday is 1), `yday` (day of the year), and `isdst`\n(daylight saving flag, a boolean). This last field may be absent if the\ninformation is not available.\n\nIf `format` is not "`*t`", then `date` returns the date as a string,\nformatted according to the same rules as the ANSI C function `strftime`.\n\nWhen called without arguments, `date` returns a reasonable date and time\nrepresentation that depends on the host system and on the current locale\n(that is, `os.date()` is equivalent to `os.date("%c")`).\n\nOn non-Posix systems, this function may be not thread safe because of its\nreliance on C function `gmtime` and C function `localtime`.
debug _G.debug (module)\nLua debug module.
debug debug.debug()\nEnters an interactive mode with the user, running each string that\nthe user enters. Using simple commands and other debug facilities,\nthe user can inspect global and local variables, change their values,\nevaluate expressions, and so on. A line containing only the word `cont`\nfinishes this function, so that the caller continues its execution.\n\nNote that commands for `debug.debug` are not lexically nested within any\nfunction and so have no direct access to local variables.
dec_num lexer.dec_num (pattern)\nA pattern that matches a decimal number.
deg math.deg(x)\nReturns the angle `x` (given in radians) in degrees.
del_line_left buffer.del_line_left(buffer)\nDeletes the range of text from the caret to the beginning of the current\nline.\n@param buffer A buffer.
del_line_right buffer.del_line_right(buffer)\nDeletes the range of text from the caret to the end of the current line.\n@param buffer A buffer.
del_word_left buffer.del_word_left(buffer)\nDeletes the word to the left of the caret, including any leading non-word\ncharacters.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer.
del_word_right buffer.del_word_right(buffer)\nDeletes the word to the right of the caret, including any trailing non-word\ncharacters.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer.
del_word_right_end buffer.del_word_right_end(buffer)\nDeletes the word to the right of the caret, excluding any trailing non-word\ncharacters.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer.
delete buffer.delete(buffer)\nDeletes the buffer.\n**Do not call this function.** Call `io.close_buffer()` instead. Emits a\n`BUFFER_DELETED` event.\n@param buffer A buffer.\n@see events.BUFFER_DELETED
delete_back buffer.delete_back(buffer)\nDeletes the character behind the caret if no text is selected.\nOtherwise, deletes the selected text.\n@param buffer A buffer.
delete_back_not_line buffer.delete_back_not_line(buffer)\nDeletes the character behind the caret unless either the caret is at the\nbeginning of a line or text is selected.\nIf text is selected, deletes it.\n@param buffer A buffer.
delete_range buffer.delete_range(buffer, pos, length)\nDeletes the range of text from position *pos* to *pos* + *length*.\n@param buffer A buffer.\n@param pos The start position of the range of text in *buffer* to delete.\n@param length The number of characters in the range of text to delete.
delimited_range lexer.delimited_range(chars, single_line, no_escape, balanced)\nCreates and returns a pattern that matches a range of text bounded by\n*chars* characters.\nThis is a convenience function for matching more complicated delimited ranges\nlike strings with escape characters and balanced parentheses. *single_line*\nindicates whether or not the range must be on a single line, *no_escape*\nindicates whether or not to ignore '\' as an escape character, and *balanced*\nindicates whether or not to handle balanced ranges like parentheses and\nrequires *chars* to be composed of two characters.\n@param chars The character(s) that bound the matched range.\n@param single_line Optional flag indicating whether or not the range must be\n  on a single line.\n@param no_escape Optional flag indicating whether or not the range end\n  character may be escaped by a '\\' character.\n@param balanced Optional flag indicating whether or not to match a balanced\n  range, like the "%b" Lua pattern. This flag only applies if *chars*\n  consists of two different characters (e.g. "()").\n@usage local dq_str_escapes = l.delimited_range('"')\n@usage local dq_str_noescapes = l.delimited_range('"', false, true)\n@usage local unbalanced_parens = l.delimited_range('()')\n@usage local balanced_parens = l.delimited_range('()', false, false, true)\n@return pattern\n@see nested_pair
dialog ui.dialog(kind, ...)\nLow-level function for prompting the user with a gtdialog of kind *kind*\nwith the given string and table arguments, returning a formatted string of\nthe dialog's output.\nYou probably want to use the higher-level functions in the `ui.dialogs`\nmodule.\nTable arguments containing strings are allowed and expanded in place. This is\nuseful for filtered list dialogs with many items.\n@param kind The kind of gtdialog.\n@param ... Parameters to the gtdialog.\n@return string gtdialog result.
dialogs ui.dialogs (module)\nProvides a set of interactive dialog prompts for user input.
difftime os.difftime(t2, t1)\nReturns the number of seconds from time `t1` to time `t2`. In POSIX,\nWindows, and some other systems, this value is exactly `t2`*-*`t1`.
digit lexer.digit (pattern)\nA pattern that matches any digit ('0'-'9').
dir lfs.dir(path)\nLua iterator over the entries of a given directory. Each time the iterator is\ncalled with dir_obj it returns a directory entry's name as a string, or nil\nif there are no more entries. You can also iterate by calling dir_obj:next(),\nand explicitly close the directory before the iteration finished with\ndir_obj:close(). Raises an error if path is not a directory.
dir_foreach lfs.dir_foreach(dir, f, filter, exclude_FILTER, n, include_dirs, level)\nIterates over all files and sub-directories (up to level number *n*) in\ndirectory *dir*, calling function *f* with each file found.\nFiles passed to *f* do not match any pattern in string or table *filter*,\nand, unless *exclude_FILTER* is `true`, `lfs.FILTER` as well. A filter table\ncontains Lua patterns that match filenames to exclude, an optional `folders`\nsub-table that contains patterns matching directories to exclude, and an\noptional `extensions` sub-table that contains raw file extensions to exclude.\nAny patterns starting with '!' exclude files and directories that do not\nmatch the pattern that follows.\n@param dir The directory path to iterate over.\n@param f Function to call with each full file path found. If *f* returns\n  `false` explicitly, iteration ceases.\n@param filter Optional filter for files and directories to exclude.\n@param exclude_FILTER Optional flag indicating whether or not to exclude the\n  default filter `lfs.FILTER` in the search. If `false`, adds `lfs.FILTER` to\n  *filter*.\n  The default value is `false` to include the default filter.\n@param n Optional maximum number of directory levels to descend into.\n  The default value is `nil`, which indicates no limit.\n@param include_dirs Optional flag indicating whether or not to call *f* with\n  directory names too. Directory names are passed with a trailing '/' or '\',\n  depending on the current platform.\n  The default value is `false`.\n@param level Utility value indicating the directory level this function is\n  at. This value is used and set internally, and should not be set otherwise.\n@see FILTER
disconnect events.disconnect(event, f)\nRemoves function *f* from the set of handlers for event *event*.\n@param event The string event name.\n@param f The Lua function connected to *event*.\n@see connect
doc_line_from_visible buffer.doc_line_from_visible(buffer, display_line)\nReturns the actual line number of displayed line number *display_line*,\ntaking hidden lines into account.\nIf *display_line* is less than or equal to zero, returns `0`. If\n*display_line* is greater than or equal to the number of displayed lines,\nreturns `buffer.line_count`.\n@param buffer A buffer.\n@param display_line The display line number to use.\n@return number
document_end buffer.document_end(buffer)\nMoves the caret to the end of the buffer.\n@param buffer A buffer.
document_end_extend buffer.document_end_extend(buffer)\nMoves the caret to the end of the buffer, extending the selected text to the\nnew position.\n@param buffer A buffer.
document_start buffer.document_start(buffer)\nMoves the caret to the beginning of the buffer.\n@param buffer A buffer.
document_start_extend buffer.document_start_extend(buffer)\nMoves the caret to the beginning of the buffer, extending the selected text\nto the new position.\n@param buffer A buffer.
dofile _G.dofile([filename])\nOpens the named file and executes its contents as a Lua chunk. When\ncalled without arguments,\n`dofile` executes the contents of the standard input (`stdin`). Returns\nall values returned by the chunk. In case of errors, `dofile` propagates\nthe error to its caller (that is, `dofile` does not run in protected mode).
drop_selection_n buffer.drop_selection_n(buffer, n)\nDrops existing selection number *n*.\n@param buffer A buffer.\n@param n The number of the existing selection.
dropdown ui.dialogs.dropdown(options)\nPrompts the user with a drop-down item selection dialog defined by dialog\noptions table *options*, returning the selected button's index along with the\nindex of the selected item.\nIf *options*.`string_output` is `true`, returns the selected button's label\nalong with the selected item's text.\nIf the dialog closed due to *options*.`exit_onchange`, returns `4` along with\neither the selected item's index or its text. If the dialog timed out,\nreturns `0` or `"timeout"`. If the user canceled the dialog, returns `-1` or\n`"delete"`.\n@param options Table of key-value option pairs for the drop-down dialog.\n\n  * `title`: The dialog's title text.\n  * `text`: The dialog's main message text.\n  * `items`: The list of string items to show in the drop-down.\n  * `button1`: The right-most button's label. The default value is\n    `_L['_OK']`.\n  * `button2`: The middle button's label.\n  * `button3`: The left-most button's label. This option requires `button2`\n    to be set.\n  * `exit_onchange`: Close the dialog after selecting a new item. The default\n    value is `false`.\n  * `select`: The index of the initially selected list item. The default\n    value is `1`.\n  * `string_output`: Return the selected button's label (instead of its\n    index) and the selected item's text (instead of its index). If no item\n    was selected, returns the dialog's exit status (instead of its exit\n    code). The default value is `false`.\n  * `width`: The dialog's pixel width.\n  * `height`: The dialog's pixel height.\n  * `float`: Show the dialog on top of all desktop windows. The default value\n    is `false`.\n  * `timeout`: the integer number of seconds the dialog waits for the user to\n    select a button before timing out. Dialogs do not time out by default.\n@usage ui.dialogs.dropdown{title = 'Select Encoding', width = 200,\n  items = io.encodings, string_output = true}\n@return selected button or exit code, selected item
dump string.dump(function)\nReturns a string containing a binary representation of the given\nfunction, so that a later `load` on this string returns a copy of the\nfunction (but with new upvalues).
edge_colour buffer.edge_colour (number)\nThe color, in "0xBBGGRR" format, of the edge or background for long lines\naccording to `buffer.edge_mode`.
edge_column buffer.edge_column (number)\nThe column number to mark long lines at.
edge_mode buffer.edge_mode (number)\nThe long line mark mode.\n\n* `buffer.EDGE_NONE`\n  Long lines are not marked.\n* `buffer.EDGE_LINE`\n  Draw a vertical line whose color is `buffer.edge_colour` at column\n  `buffer.edge_column`.\n* `buffer.EDGE_BACKGROUND`\n  Change the background color of text after column `buffer.edge_column`\n  to `buffer.edge_colour`.
edit_toggle_overtype buffer.edit_toggle_overtype(buffer)\nToggles `buffer.overtype`.\n@param buffer A buffer.
editing textadept.editing (module)\nEditing features for Textadept.
editing_keys ui.command_entry.editing_keys (table)\nA metatable with typical platform-specific key bindings for text entries.\nThis metatable may be used to add basic editing keys to command entry modes.\nIt is automatically added to command entry modes unless a metatable was\npreviously set.
embed_lexer lexer.embed_lexer(parent, child, start_rule, end_rule)\nEmbeds child lexer *child* in parent lexer *parent* using patterns\n*start_rule* and *end_rule*, which signal the beginning and end of the\nembedded lexer, respectively.\n@param parent The parent lexer.\n@param child The child lexer.\n@param start_rule The pattern that signals the beginning of the embedded\n  lexer.\n@param end_rule The pattern that signals the end of the embedded lexer.\n@usage l.embed_lexer(M, css, css_start_rule, css_end_rule)\n@usage l.embed_lexer(html, M, php_start_rule, php_end_rule)\n@usage l.embed_lexer(html, ruby, ruby_start_rule, ruby_end_rule)
emit events.emit(event, ...)\nSequentially calls all handler functions for event *event* with the given\narguments.\n*event* may be any arbitrary string and does not need to have been previously\ndefined. If any handler explicitly returns `true` or `false`, `emit()`\nreturns that value and ceases to call subsequent handlers. This is useful for\nstopping the propagation of an event like a keypress after it has been\nhandled.\n@param event The string event name.\n@param ... Arguments passed to the handler.\n@usage events.emit('my_event', 'my message')\n@return `true` or `false` if any handler explicitly returned such; `nil`\n  otherwise.
empty_undo_buffer buffer.empty_undo_buffer(buffer)\nDeletes the undo and redo history.\n@param buffer A buffer.
enclose textadept.editing.enclose(left, right)\nEncloses the selected text or the current word within strings *left* and\n*right*.\n@param left The left part of the enclosure.\n@param right The right part of the enclosure.
encoding buffer.encoding (string or nil)\nThe string encoding of the file, or `nil` for binary files.
encoding_bom buffer.encoding_bom (string)\nThe byte-order mark (if any) of the file.
encodings io.encodings (table)\nList of encodings to attempt to decode files as.\nYou should add to this list if you get a "Conversion failed" error when\ntrying to open a file whose encoding is not recognized. Valid encodings are\nGNU iconv's encodings and include:\n\n  * European: ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8-R, KOI8-U,\n    KOI8-RU, CP{1250,1251,1252,1253,1254,1257}, CP{850,866,1131},\n    Mac{Roman,CentralEurope,Iceland,Croatian,Romania},\n    Mac{Cyrillic,Ukraine,Greek,Turkish}, Macintosh.\n  * Semitic: ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic}.\n  * Japanese: EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2,\n    ISO-2022-JP-1.\n  * Chinese: EUC-CN, HZ, GBK, CP936, GB18030, EUC-TW, BIG5, CP950,\n    BIG5-HKSCS, BIG5-HKSCS:2004, BIG5-HKSCS:2001, BIG5-HKSCS:1999,\n    ISO-2022-CN, ISO-2022-CN-EXT.\n  * Korean: EUC-KR, CP949, ISO-2022-KR, JOHAB.\n  * Armenian: ARMSCII-8.\n  * Georgian: Georgian-Academy, Georgian-PS.\n  * Tajik: KOI8-T.\n  * Kazakh: PT154, RK1048.\n  * Thai: ISO-8859-11, TIS-620, CP874, MacThai.\n  * Laotian: MuleLao-1, CP1133.\n  * Vietnamese: VISCII, TCVN, CP1258.\n  * Unicode: UTF-8, UCS-2, UCS-2BE, UCS-2LE, UCS-4, UCS-4BE, UCS-4LE, UTF-16,\n    UTF-16BE, UTF-16LE, UTF-32, UTF-32BE, UTF-32LE, UTF-7, C99, JAVA.
end_at_last_line buffer.end_at_last_line (bool)\nDisable scrolling past the last line.\nThe default value is `true`.
end_styled buffer.end_styled (number, Read-only)\nThe current styling position or the last correctly styled character's\nposition.
end_undo_action buffer.end_undo_action(buffer)\nEnds a sequence of actions to be undone or redone as a single action.\n@param buffer A buffer.
ensure_visible buffer.ensure_visible(buffer, line)\nEnsures line number *line* is visible by expanding any fold points hiding it.\n@param buffer A buffer.\n@param line The line number in *buffer* to ensure visible.
ensure_visible_enforce_policy buffer.ensure_visible_enforce_policy(buffer, line)\nEnsures line number *line* is visible by expanding any fold points hiding it\nbased on the vertical caret policy previously defined in\n`buffer.set_visible_policy()`.\n@param buffer A buffer.\n@param line The line number in *buffer* to ensure visible.
enter_mode ui.command_entry.enter_mode(mode, lexer, height)\nOpens the command entry in key mode *mode*, highlighting text with lexer name\n*lexer*, and displaying *height* number of lines at a time.\nKey bindings will be looked up in `keys[mode]` instead of `keys`. The `Esc`\nkey exits the current mode, closes the command entry, and restores normal key\nlookup.\nThis function is useful for binding keys to enter a command entry mode.\n@param mode The key mode to enter into, or `nil` to exit the current mode.\n@param lexer Optional string lexer name to use for command entry text. The\n  default value is `'text'`.\n@param height Optional number of lines to display in the command entry. The\n  default value is `1`.\n@usage keys['ce'] = {ui.command_entry.enter_mode, 'command_entry'}\n@see _G.keys.MODE
eol_mode buffer.eol_mode (number)\nThe current end of line mode. Changing the current mode does not convert\nany of the buffer's existing end of line characters.\nUse `buffer.convert_eols()` to do so.\n\n* `buffer.EOL_CRLF`\n  Carriage return with line feed ("\r\n").\n* `buffer.EOL_CR`\n  Carriage return ("\r").\n* `buffer.EOL_LF`\n  Line feed ("\n").\n\nThe default value is `buffer.EOL_CRLF` on Windows platforms,\n`buffer.EOL_LF` otherwise.
error _G.error(message [, level])\nTerminates the last protected function called and returns `message`\nas the error message. Function `error` never returns.\n\nUsually, `error` adds some information about the error position at the\nbeginning of the message, if the message is a string. The `level` argument\nspecifies how to get the error position. With level 1 (the default), the\nerror position is where the `error` function was called. Level 2 points the\nerror to where the function that called `error` was called; and so on.\nPassing a level 0 avoids the addition of error position information to the\nmessage.
error_patterns textadept.run.error_patterns (table)\nList of warning and error string patterns that match various compile and run\nwarnings and errors.\nPatterns contain filename, line number, and optional warning or error message\ncaptures for single lines. When a warning or error message is double-clicked,\nthe user is taken to the point of warning/error.\nWhen adding to this list, use `(.-)` to match filenames and `(%d+)` to match\nline numbers. Also keep in mind that patterns are matched in sequential\norder; once a pattern matches, no more are tried.
events _G.events (module)\nTextadept's core event structure and handlers.
execute os.execute([command])\nThis function is equivalent to the ANSI C function `system`. It passes\n`command` to be executed by an operating system shell. Its first result is\n`true` if the command terminated successfully, or `nil` otherwise. After this\nfirst result the function returns a string and a number, as follows:\n  "exit": the command terminated normally; the following number is the exit\n          status of the command.\n  "signal": the command was terminated by a signal; the following number is\n            the signal that terminated the command.\n\nWhen called without a `command`, `os.execute` returns a boolean that is true\nif a shell is available.
exit os.exit([code [, close]])\nCalls the ANSI C function `exit` to terminate the host program. If `code` is\n`true`, the returned status is `EXIT_SUCCESS`; if `code` is `false`, the\nreturned status is `EXIT_FAILURE`; if `code` is a number, the returned status\nis this number. The default value for `code` is `true`.\n\nIf the optional second argument `close` is true, closes the Lua state before\nexiting.
exp math.exp(x)\nReturns the value *e^x*.
expr_types _M.lua.expr_types (table)\nMap of expression patterns to their types.\nExpressions are expected to match after the '=' sign of a statement.
expr_types _M.python.expr_types (table)\nMap of expression patterns to their types.\nExpressions are expected to match after the '=' sign of a statement.
expr_types _M.ruby.expr_types (table)\nMap of expression patterns to their types.\nExpressions are expected to match after the '=' sign of a statement.
extend lexer.extend (pattern)\nA pattern that matches any ASCII extended character (codes 0 to 255).
extensions textadept.file_types.extensions (table)\nMap of file extensions to their associated lexer names.\nIf the file type is not recognized by shebang words or first-line patterns,\neach file extension is matched against the file's extension.
extra_ascent buffer.extra_ascent (number)\nThe amount of pixel padding above lines.\nThe default value is `0`.
extra_descent buffer.extra_descent (number)\nThe amount of pixel padding below lines.\nThe default is `0`.
extract bit32.extract(n, field [, width])\nReturns the unsigned number formed by the bits `field` to `field + width - 1`\nfrom `n`. Bits are numbered from 0 (least significant) to 31 (most\nsignificant). All accessed bits must be in the range [0, 31].\n\nThe default for `width` is 1.
file_types textadept.file_types (module)\nHandles file type detection for Textadept.
filename buffer.filename (string)\nThe absolute file path associated with the buffer.
filesave ui.dialogs.filesave(options)\nPrompts the user with a file save dialog defined by dialog options table\n*options*, returning the string file chosen.\nIf the user canceled the dialog, returns `nil`.\n@param options Table of key-value option pairs for the dialog.\n\n  * `title`: The dialog's title text.\n  * `with_directory`: The initial filesystem directory to show.\n  * `with_file`: The initially chosen filename. This option requires\n    `with_directory` to be set.\n  * `with_extension`: The list of extensions selectable files must have.\n  * `no_create_directories`: Prevent the user from creating new directories.\n    The default value is `false`.\n@return filename or nil
fileselect ui.dialogs.fileselect(options)\nPrompts the user with a file selection dialog defined by dialog options\ntable *options*, returning the string file selected.\nIf *options*.`select_multiple` is `true`, returns the list of files selected.\nIf the user canceled the dialog, returns `nil`.\n@param options Table of key-value option pairs for the dialog.\n\n  * `title`: The dialog's title text.\n  * `with_directory`: The initial filesystem directory to show.\n  * `with_file`: The initially selected filename. This option requires\n    `with_directory` to be set.\n  * `with_extension`: The list of extensions selectable files must have.\n  * `select_multiple`: Allow the user to select multiple files. The default\n    value is `false`.\n  * `select_only_directories`: Only allow the user to select directories. The\n    default value is `false`.\n@usage ui.dialogs.fileselect{title = 'Open C File', with_directory = _HOME,\n  with_extension = {'c', 'h'}, select_multiple = true}\n@return filename, list of filenames, or nil
filter_through textadept.editing.filter_through(command)\nPasses the selected text or all buffer text to string shell command *command*\nas standard input (stdin) and replaces the input text with the command's\nstandard output (stdout).\nStandard input is as follows:\n\n1. If text is selected and spans multiple lines, all text on the lines that\nhave text selected is passed as stdin. However, if the end of the selection\nis at the beginning of a line, only the line ending delimiters from the\nprevious line are included. The rest of the line is excluded.\n2. If text is selected and spans a single line, only the selected text is\nused.\n3. If no text is selected, the entire buffer is used.\n@param command The Linux, BSD, Mac OSX, or Windows shell command to filter\n  text through.
filteredlist ui.dialogs.filteredlist(options)\nPrompts the user with a filtered list item selection dialog defined by dialog\noptions table *options*, returning the selected button's index along with the\nindex or indices of the selected item or items (depending on whether or not\n*options*.`select_multiple` is `true`).\nIf *options*.`string_output` is `true`, returns the selected button's label\nalong with the text of the selected item or items.\nIf the dialog timed out, returns `0` or `"timeout"`. If the user canceled the\ndialog, returns `-1` or `"delete"`.\nSpaces in the filter text are treated as wildcards.\n@param options Table of key-value option pairs for the filtered list dialog.\n\n  * `title`: The dialog's title text.\n  * `text`: The dialog's main message text.\n  * `columns`: The list of string column names for list rows.\n  * `items`: The list of string items to show in the filtered list.\n  * `button1`: The right-most button's label. The default value is\n    `_L['_OK']`.\n  * `button2`: The middle button's label.\n  * `button3`: The left-most button's label. This option requires `button2`\n    to be set.\n  * `select_multiple`: Allow the user to select multiple items. The default\n    value is `false`.\n  * `search_column`: The column number to filter the input text against. The\n    default value is `1`. This option requires `columns` to be set and\n    contain at least *n* column names.\n  * `output_column`: The column number to use for `string_output`. The\n    default value is `1`. This option requires `columns` to be set and\n    contain at least *n* column names.\n  * `string_output`: Return the selected button's label (instead of its\n    index) and the selected item's text (instead of its index). If no item\n    was selected, returns the dialog's exit status (instead of its exit\n    code). The default value is `false`.\n  * `width`: The dialog's pixel width.\n  * `height`: The dialog's pixel height.\n  * `float`: Show the dialog on top of all desktop windows. The default value\n    is `false`.\n  * `timeout`: the integer number of seconds the dialog waits for the user to\n    select a button before timing out. Dialogs do not time out by default.\n@usage ui.dialogs.filteredlist{title = 'Title', columns = {'Foo', 'Bar'},\n  items = {'a', 'b', 'c', 'd'}}\n@return selected button or exit code, selected item or list of selected items
find string.find(s, pattern [, init [, plain]])\nLooks for the first match of `pattern` in the string `s`. If it finds a\nmatch, then `find` returns the indices of `s` where this occurrence starts\nand ends; otherwise, it returns nil. A third, optional numerical argument\n`init` specifies where to start the search; its default value is 1 and\ncan be negative. A value of true as a fourth, optional argument `plain`\nturns off the pattern matching facilities, so the function does a plain\n"find substring" operation, with no characters in `pattern` being considered\nmagic. Note that if `plain` is given, then `init` must be given as well.\n\nIf the pattern has captures, then in a successful match the captured values\nare also returned, after the two indices.
find ui.find (module)\nTextadept's Find & Replace pane.
find_column buffer.find_column(buffer, line, column)\nReturns the position of column number *column* on line number *line* (taking\ntab and multi-byte characters into account), or the position at the end of\nline *line*.\n@param buffer A buffer.\n@param line The line number in *buffer* to use.\n@param column The column number to use.
find_entry_text ui.find.find_entry_text (string)\nThe text in the "Find" entry.
find_in_files ui.find.find_in_files(dir)\nSearches directory *dir* or the user-specified directory for files that match\nsearch text and search options, and prints the results to a buffer titled\n"Files Found".\nUse the `find_text`, `match_case`, `whole_word`, and `lua` fields to set the\nsearch text and option flags, respectively. Use `FILTER` to set the search\nfilter.\n@param dir Optional directory path to search. If `nil`, the user is prompted\n  for one.\n@see FILTER
find_incremental ui.find.find_incremental(text, next, anchor)\nBegins an incremental search using the command entry if *text* is `nil`.\nOtherwise, continues an incremental search by searching for the next or\nprevious instance of string *text*, depending on boolean *next*.\n*anchor* indicates whether or not to search for *text* starting from the\ncaret position instead of the position where the incremental search began.\nOnly the `match_case` find option is recognized. Normal command entry\nfunctionality is unavailable until the search is finished by pressing `Esc`\n(`⎋` on Mac OSX | `Esc` in curses).\n@param text The text to incrementally search for, or `nil` to begin an\n  incremental search.\n@param next Flag indicating whether or not the search direction is forward.\n@param anchor Optional flag indicating whether or not to start searching from\n  the caret position. The default value is `false`.
find_label_text ui.find.find_label_text (string, Write-only)\nThe text of the "Find" label.\nThis is primarily used for localization.
find_next ui.find.find_next()\nMimics pressing the "Find Next" button.
find_next_button_text ui.find.find_next_button_text (string, Write-only)\nThe text of the "Find Next" button.\nThis is primarily used for localization.
find_prev ui.find.find_prev()\nMimics pressing the "Find Prev" button.
find_prev_button_text ui.find.find_prev_button_text (string, Write-only)\nThe text of the "Find Prev" button.\nThis is primarily used for localization.
finish_mode ui.command_entry.finish_mode(f)\nExits the current key mode, closes the command entry, and calls function *f*\n(if given) with the command entry's text as an argument.\nThis is useful for binding keys to exit a command entry mode and perform an\naction with the entered text.\n@param f Optional function to call. It should accept the command entry text\n  as an argument.\n@usage keys['\n'] = {ui.command_entry.finish_mode, ui.print}
first_visible_line buffer.first_visible_line (number)\nThe line number of the line at the top of the view, starting from zero.
float lexer.float (pattern)\nA pattern that matches a floating point number.
floor math.floor(x)\nReturns the largest integer smaller than or equal to `x`.
flush file:flush()\nSaves any written data to `file`.
flush io.flush()\nEquivalent to `io.output():flush()`.
fmod math.fmod(x, y)\nReturns the remainder of the division of `x` by `y` that rounds the\nquotient towards zero.
focus ui.command_entry.focus()\nOpens the command entry.
focus ui.find.focus()\nDisplays and focuses the Find & Replace Pane.
fold lexer.fold(lexer, text, start_pos, start_line, start_level)\nFolds a chunk of text *text* with lexer *lexer*.\nFolds *text* starting at position *start_pos* on line number *start_line*\nwith a beginning fold level of *start_level* in the buffer. If *lexer* has a\na `_fold` function or a `_foldsymbols` table, that field is used to perform\nfolding. Otherwise, if a `fold.by.indentation` property is set, folding by\nindentation is done.\n@param lexer The lexer object to fold with.\n@param text The text in the buffer to fold.\n@param start_pos The position in the buffer *text* starts at.\n@param start_line The line number *text* starts on.\n@param start_level The fold level *text* starts on.\n@return table of fold levels.
fold_all buffer.fold_all(buffer, action)\nContracts, expands, or toggles all fold points, depending on *action*.\nWhen toggling, the state of the first fold point determines whether to\nexpand or contract.\n@param buffer A buffer.\n@param action The fold action to perform. Valid values are:\n  * `buffer.FOLDACTION_CONTRACT`\n  * `buffer.FOLDACTION_EXPAND`\n  * `buffer.FOLDACTION_TOGGLE`
fold_children buffer.fold_children(buffer, line, action)\nContracts, expands, or toggles the fold point on line number *line*, as well\nas all of its children, depending on *action*.\n@param buffer A buffer.\n@param line The line number in *buffer* to set the fold states for.\n@param action The fold action to perform. Valid values are:\n  * `buffer.FOLDACTION_CONTRACT`\n  * `buffer.FOLDACTION_EXPAND`\n  * `buffer.FOLDACTION_TOGGLE`
fold_expanded buffer.fold_expanded (table)\nTable of flags that indicate whether or not fold points are expanded for\nline numbers starting from zero.\nSetting expanded fold states does not toggle folds; it only updates fold\nmargin markers. Use `buffer.toggle_fold()` instead.
fold_flags buffer.fold_flags (number)\nBit-mask of folding lines to draw in the buffer.\n\n* `buffer.FOLDFLAG_LINEBEFORE_EXPANDED`\n  Draw lines above expanded folds.\n* `buffer.FOLDFLAG_LINEBEFORE_CONTRACTED`\n  Draw lines above collapsed folds.\n* `buffer.FOLDFLAG_LINEAFTER_EXPANDED`\n  Draw lines below expanded folds.\n* `buffer.FOLDFLAG_LINEAFTER_CONTRACTED`\n  Draw lines below collapsed folds.\n* `buffer.FOLDFLAG_LEVELNUMBERS`\n  Show hexadecimal fold levels in line margins.\n  This option cannot be combined with `FOLDFLAG_LINESTATE`.\n* `buffer.FOLDFLAG_LINESTATE`\n  Show line state in line margins.\n  This option cannot be combined with `FOLDFLAG_LEVELNUMBERS`.\n\nThe default value is `0`.
fold_level buffer.fold_level (table)\nTable of fold level bit-masks for line numbers starting from zero.\nFold level masks comprise of an integer level combined with any of the\nfollowing bit flags:\n\n* `buffer.FOLDLEVELBASE`\n  The initial fold level.\n* `buffer.FOLDLEVELWHITEFLAG`\n  The line is blank.\n* `buffer.FOLDLEVELHEADERFLAG`\n  The line is a header, or fold point.
fold_level lexer.fold_level (table, Read-only)\nTable of fold level bit-masks for line numbers starting from zero.\nFold level masks are composed of an integer level combined with any of the\nfollowing bits:\n\n* `lexer.FOLD_BASE`\n  The initial fold level.\n* `lexer.FOLD_BLANK`\n  The line is blank.\n* `lexer.FOLD_HEADER`\n  The line is a header, or fold point.
fold_line buffer.fold_line(buffer, line, action)\nContracts, expands, or toggles the fold point on line number *line*,\ndepending on *action*.\n@param buffer A buffer.\n@param line The line number in *buffer* to set the fold state for.\n@param action The fold action to perform. Valid values are:\n  * `buffer.FOLDACTION_CONTRACT`\n  * `buffer.FOLDACTION_EXPAND`\n  * `buffer.FOLDACTION_TOGGLE`
fold_line_comments lexer.fold_line_comments(prefix)\nReturns a fold function (to be used within the lexer's `_foldsymbols` table)\nthat folds consecutive line comments that start with string *prefix*.\n@param prefix The prefix string defining a line comment.\n@usage [l.COMMENT] = {['--'] = l.fold_line_comments('--')}\n@usage [l.COMMENT] = {['//'] = l.fold_line_comments('//')}
fold_parent buffer.fold_parent (table, Read-only)\nTable of fold point line numbers for child line numbers starting from zero.\nA line number of `-1` means no line was found.
form_feed buffer.form_feed(buffer)\nTypes a Form Feed character ("\f") at the caret position.\n@param buffer A buffer.
format string.format(formatstring, ···)\nReturns a formatted version of its variable number of arguments following the\ndescription given in its first argument (which must be a string). The format\nstring follows the same rules as the ANSI C function `sprintf`. The only\ndifferences are that the options/modifiers `*`, `h`, `L`, `l`, `n`, and `p`\nare not supported and that there is an extra option, `q`. The `q` option\nformats a string between double quotes, using escape sequences when necessary\nto ensure that it can safely be read back by the Lua interpreter. For\ninstance, the call\n\n  string.format('%q', 'a string with "quotes" and \n new line')\n\nmay produce the string:\n\n  "a string with \"quotes\" and \\n      new line"\n\nOptions `A` and `a` (when available), `E`, `e`, `f`, `G`, and `g` all expect\na number as argument. Options `c`, `d`, `i`, `o`, `u`, `X`, and `x` also\nexpect a number, but the range of that number may be limited by the\nunderlying C implementation. For options `o`, `u`, `X`, and `x`, the number\ncannot be negative. Option `q` expects a string; option `s` expects a string\nwithout embedded zeros. If the argument to option `s` is not a string, it is\nconverted to one following the same rules of `tostring`.
frexp math.frexp(x)\nReturns `m` and `e` such that 'x = m2^e', `e` is an integer and the\nabsolute value of `m` is in the range *[0.5, 1)* (or zero when `x` is zero).
functions _SCINTILLA.functions (table)\nMap of Scintilla function names to tables containing their IDs, return types,\nwParam types, and lParam types. Types are as follows:\n\n  + `0`: Void.\n  + `1`: Integer.\n  + `2`: Length of the given lParam string.\n  + `3`: Integer position.\n  + `4`: Color, in "0xBBGGRR" format.\n  + `5`: Boolean `true` or `false`.\n  + `6`: Bitmask of Scintilla key modifiers and a key value.\n  + `7`: String parameter.\n  + `8`: String return value.
get_cur_line buffer.get_cur_line(buffer)\nReturns the current line's text and the caret's position on that line,\nstarting from zero.\n@param buffer A buffer.\n@return string, number
get_hotspot_active_back buffer.get_hotspot_active_back(buffer)\nReturns the numeric background color of active hotspots.\n@param buffer A buffer.\n@return number
get_hotspot_active_fore buffer.get_hotspot_active_fore(buffer)\nReturns the numeric foreground color of active hotspots.\n@param buffer A buffer.\n@return number
get_last_child buffer.get_last_child(buffer, line, level)\nReturns the line number of the last line after line number *line* whose fold\nlevel is greater than *level*.\nIf *level* is `-1`, returns the level of *line*.\n@param buffer A buffer.\n@param line The line number in *buffer* of a header line.\n@param level The fold level, or `-1` for the level of *line*.
get_lexer buffer.get_lexer(buffer, current)\nReturns the buffer's lexer name.\nIf *current* is `true`, returns the name of the lexer under the caret in\na multiple-language lexer.\n@param buffer A buffer.\n@param current Whether or not to get the lexer at the current caret position\n  in multi-language lexers. The default is `false` and returns the parent\n  lexer.
get_line buffer.get_line(buffer, line)\nReturns the text on line number *line*, including end of line characters.\n@param buffer A buffer.\n@param line The line number in *buffer* to use.\n@return string, number
get_line_sel_end_position buffer.get_line_sel_end_position(buffer, line)\nReturns the position of the end of the selected text on line number *line*,\nor `-1` if *line* has no selection.\n@param buffer A buffer.\n@param line The line number in *buffer* to use.
get_line_sel_start_position buffer.get_line_sel_start_position(buffer, line)\nReturns the position of the beginning of the selected text on line number\n*line*, or `-1` if *line* has no selection.\n@param buffer A buffer.\n@param line The line number in *buffer* to use.
get_project_root io.get_project_root(path)\nReturns the root directory of the project that contains filesystem path\n*path*.\nIn order to be recognized, projects must be under version control. Recognized\nVCSes are Bazaar, Git, Mercurial, SVN, and CVS.\n@param path Optional filesystem path to a project or a file contained within\n  a project. The default value is the buffer's filename or the current\n  working directory.\n@return string root or nil
get_sel_text buffer.get_sel_text(buffer)\nReturns the selected text.\nMultiple selections are included in order with no delimiters. Rectangular\nselections are included from top to bottom with end of line characters.\nVirtual space is not included.\n@param buffer A buffer.\n@return string, number
get_split_table ui.get_split_table()\nReturns a split table that contains Textadept's current split view structure.\nThis is primarily used in session saving.\n@return table of split views. Each split view entry is a table with 4\n  fields: `1`, `2`, `vertical`, and `size`. `1` and `2` have values of either\n  nested split view entries or the views themselves; `vertical` is a flag\n  that indicates if the split is vertical or not; and `size` is the integer\n  position of the split resizer.
get_text buffer.get_text(buffer)\nReturns the buffer's text.\n@param buffer A buffer.
getenv os.getenv(varname)\nReturns the value of the process environment variable `varname`, or\nnil if the variable is not defined.
gethook debug.gethook([thread])\nReturns the current hook settings of the thread, as three values: the\ncurrent hook function, the current hook mask, and the current hook count\n(as set by the `debug.sethook` function).
getinfo debug.getinfo([thread, ] f [, what])\nReturns a table with information about a function. You can give the\nfunction directly or you can give a number as the value of `f`, which means\nthe function running at level `f` of the call stack of the given thread:\nlevel 0 is the current function (`getinfo` itself); level 1 is the function\nthat called `getinfo` and so on. If `f` is a number larger than the number of\nactive functions, then `getinfo` returns nil.\n\nThe returned table can contain all the fields returned by `lua_getinfo`,\nwith the string `what` describing which fields to fill in. The default for\n`what` is to get all information available, except the table of valid\nlines. If present, the option '`f`' adds a field named `func` with\nthe function itself. If present, the option '`L`' adds a field named\n`activelines` with the table of valid lines.\n\nFor instance, the expression `debug.getinfo(1,"n").name` returns a table\nwith a name for the current function, if a reasonable name can be found,\nand the expression `debug.getinfo(print)` returns a table with all available\ninformation about the `print` function.
getlocal debug.getlocal([thread, ] f, local)\nThis function returns the name and the value of the local variable with index\n`local` of the function at level `f` of the stack. This function accesses not\nonly explicit local variables, but also parameters, temporaries, etc.\n\nThe first parameter or local variable has index 1, and so on, until the last\nactive variable. Negative indices refer to vararg parameters; -1 is the first\nvararg parameter. The function returns nil if there is no variable with the\ngiven index, and raises an error when called with a level out of range. (You\ncan call `debug.getinfo` to check whether the level is valid.)\n\nVariable names starting with '`(`' (open parenthesis) represent internal\nvariables (loop control variables, temporaries, varargs, and C function\nlocals).\n\nThe parameter `f` may also be a function. In that case, `getlocal` returns\nonly the name of function parameters.
getmetatable _G.getmetatable(object)\nIf `object` does not have a metatable, returns nil. Otherwise, if the\nobject's metatable has a `"__metatable"` field, returns the associated\nvalue. Otherwise, returns the metatable of the given object.
getmetatable debug.getmetatable(value)\nReturns the metatable of the given `value` or nil if it does not have\na metatable.
getregistry debug.getregistry()\nReturns the registry table (see §4.5).
getupvalue debug.getupvalue(f, up)\nThis function returns the name and the value of the upvalue with index\n`up` of the function `f`. The function returns nil if there is no upvalue\nwith the given index.
getuservalue debug.getuservalue(u)\nReturns the Lua value associated to `u`. If `u` is not a userdata, returns\nnil.
gmatch string.gmatch(s, pattern)\nReturns an iterator function that, each time it is called, returns the\nnext captures from `pattern` over the string `s`. If `pattern` specifies no\ncaptures, then the whole match is produced in each call.\n\nAs an example, the following loop will iterate over all the words from string\n`s`, printing one per line:\n\n  s = "hello world from Lua"\n  for w in string.gmatch(s, "%a+") do\n    print(w)\n  end\n\nThe next example collects all pairs `key=value` from the given string into a\ntable:\n\n  t = {}\n  s = "from=world, to=Lua"\n  for k, v in string.gmatch(s, "(%w+)=(%w+)") do\n    t[k] = v\n  end\n\nFor this function, a caret '`^`' at the start of a pattern does not work as\nan anchor, as this would prevent the iteration.
goto_anchor _M.yaml.goto_anchor()\nJumps to the anchor for the alias underneath the caret.
goto_buffer view.goto_buffer(view, n, relative)\nSwitches to buffer number *n* in the view.\n*relative* indicates whether or not *n* is an index relative to the current\nbuffer's index in `_BUFFERS` instead of an absolute index.\nEmits `BUFFER_BEFORE_SWITCH` and `BUFFER_AFTER_SWITCH` events.\n@param view The view to switch buffers in.\n@param n A relative or absolute buffer index in `_BUFFERS`. An absolute index\n  of `-1` goes to the last buffer.\n@param relative Optional flag indicating whether *n* is a relative or\n  absolute index. The default value is `false`, for an absolute index.\n@see _G._BUFFERS\n@see events.BUFFER_BEFORE_SWITCH\n@see events.BUFFER_AFTER_SWITCH
goto_error textadept.run.goto_error(line, next)\nJumps to the source of the recognized compile/run warning or error on line\nnumber *line* in the message buffer.\nIf *line* is `nil`, jumps to the next or previous warning or error, depending\non boolean *next*. Displays an annotation with the warning or error message\nif possible.\n@param line The line number in the message buffer that contains the\n  compile/run warning/error to go to.\n@param next Optional flag indicating whether to go to the next recognized\n  warning/error or the previous one. Only applicable when *line* is `nil` or\n  `false`.\n@see error_patterns\n@see cwd
goto_file ui.goto_file(filename, split, preferred_view, sloppy)\nSwitches to the existing view whose buffer's filename is *filename*.\nIf no view was found and *split* is `true`, splits the current view in order\nto show the requested file. If *split* is `false`, shifts to the next or\n*preferred_view* view in order to show the requested file. If *sloppy* is\n`true`, requires only the last part of *filename* to match a buffer's\n`filename`. If the requested file was not found, it is opened in the desired\nview.\n@param filename The filename of the buffer to go to.\n@param split Optional flag that indicates whether or not to open the buffer\n  in a split view if there is only one view. The default value is `false`.\n@param preferred_view Optional view to open the desired buffer in if the\n  buffer is not visible in any other view.\n@param sloppy Optional flag that indicates whether or not to not match\n  *filename* to `buffer.filename` exactly. When `true`, matches *filename* to\n  only the last part of `buffer.filename` This is useful for run and compile\n  commands which output relative filenames and paths instead of full ones and\n  it is likely that the file in question is already open. The default value\n  is `false`.
goto_file_found ui.find.goto_file_found(line, next)\nJumps to the source of the find in files search result on line number *line*\nin the buffer titled "Files Found" or, if *line* is `nil`, jumps to the next\nor previous search result, depending on boolean *next*.\n@param line The line number in the files found buffer that contains the\n  search result to go to.\n@param next Optional flag indicating whether to go to the next search result\n  or the previous one. Only applicable when *line* is `nil` or `false`.
goto_line buffer.goto_line(buffer, line)\nMoves the caret to the beginning of line number *line* and scrolls it into\nview.\n@param buffer A buffer.\n@param line The line number in *buffer* to go to.
goto_line textadept.editing.goto_line(line)\nMoves the caret to the beginning of line number *line* or the user-specified\nline, ensuring *line* is visible.\n@param line Optional line number to go to. If `nil`, the user is prompted for\n  one.
goto_mark textadept.bookmarks.goto_mark(next)\nPrompts the user to select a bookmarked line to move the caret to the\nbeginning of unless *next* is given.\nIf *next* is `true` or `false`, moves the caret to the beginning of the next\nor previously bookmarked line, respectively.\n@param next Optional flag indicating whether to go to the next or previous\n  bookmarked line relative to the current line. The default value is `nil`,\n  prompting the user for a bookmarked line to go to.
goto_pos buffer.goto_pos(buffer, pos)\nMoves the caret to position *pos* and scrolls it into view.\n@param buffer A buffer.\n@param pos The position in *buffer* to go to.
goto_section _M.rest.goto_section()\nPrompts the user to select a section title to jump to.\nRequires the entire document to be styled.
goto_view ui.goto_view(n, relative)\nShifts to view number *n*.\n*relative* indicates whether or not *n* is an index relative to the current\nview's index in `_VIEWS` instead of an absolute index.\nEmits `VIEW_BEFORE_SWITCH` and `VIEW_AFTER_SWITCH` events.\n@param n A relative or absolute view index in `_VIEWS`.\n@param relative Optional flag that indicates whether *n* is a relative or\n  absolute index. The default value is `false`, for an absolute index.\n@see _G._VIEWS\n@see events.VIEW_BEFORE_SWITCH\n@see events.VIEW_AFTER_SWITCH
graph lexer.graph (pattern)\nA pattern that matches any graphical character ('!' to '~').
gsub string.gsub(s, pattern, repl [, n])\nReturns a copy of `s` in which all (or the first `n`, if given)\noccurrences of the `pattern` have been replaced by a replacement string\nspecified by `repl`, which can be a string, a table, or a function. `gsub`\nalso returns, as its second value, the total number of matches that occurred.\nThe name `gsub` comes from "Global SUBstitution".\n\nIf `repl` is a string, then its value is used for replacement. The character\n`%` works as an escape character: any sequence in `repl` of the form `%d`,\nwith `d` between 1 and 9, stands for the value of the `d`-th captured\nsubstring. The sequence `%0` stands for the whole match. The sequence `%%`\nstands for a single `%`.\n\nIf `repl` is a table, then the table is queried for every match, using\nthe first capture as the key.\n\nIf `repl` is a function, then this function is called every time a match\noccurs, with all captured substrings passed as arguments, in order.\n\nIn any case, if the pattern specifies no captures, then it behaves as if the\nwhole pattern was inside a capture.\n\nIf the value returned by the table query or by the function call is a\nstring or a number, then it is used as the replacement string; otherwise,\nif it is false or nil, then there is no replacement (that is, the original\nmatch is kept in the string).\n\nHere are some examples:\n\n  x = string.gsub("hello world", "(%w+)", "%1 %1")\n  --> x="hello hello world world"\n  x = string.gsub("hello world", "%w+", "%0 %0", 1)\n  --> x="hello hello world"\n  x = string.gsub("hello world from Lua", "(%w+)%s*(%w+)", "%2 %1")\n  --> x="world hello Lua from"\n  x = string.gsub("home = $HOME, user = $USER", "%$(%w+)", os.getenv)\n  --> x="home = /home/roberto, user = roberto"\n  x = string.gsub("4+5 = $return 4+5$", "%$(.-)%$", function (s)\n        return load(s)()\n      end)\n  --> x="4+5 = 9"\n  local t = {name="lua", version="5.2"}\n  x = string.gsub("$name-$version.tar.gz", "%$(%w+)", t)\n  --> x="lua-5.2.tar.gz"
h_scroll_bar buffer.h_scroll_bar (bool)\nDisplay the horizontal scroll bar.\nThe default value is `true`.
height ui.command_entry.height (number)\nThe height in pixels of the command entry.
hex_num lexer.hex_num (pattern)\nA pattern that matches a hexadecimal number.
hide_lines buffer.hide_lines(buffer, start_line, end_line)\nHides the range of lines between line numbers *start_line* to *end_line*.\nThis has no effect on fold levels or fold flags and the first line cannot be\nhidden.\n@param buffer A buffer.\n@param start_line The start line of the range of lines in *buffer* to hide.\n@param end_line The end line of the range of lines in *buffer* to hide.
hide_selection buffer.hide_selection(buffer, hide)\nDo not highlight selected text if *hide* is `true`.\n@param buffer A buffer.\n@param hide Whether or not to hide the selection.
highlight_guide buffer.highlight_guide (number)\nThe indentation guide column number to highlight, or `0` to stop\nhighlighting.
highlight_word textadept.editing.highlight_word()\nHighlights all occurrences of the selected text or the current word.\n@see buffer.word_chars
home buffer.home(buffer)\nMoves the caret to the beginning of the current line.\n@param buffer A buffer.
home_display buffer.home_display(buffer)\nMoves the caret to the beginning of the current wrapped line.\n@param buffer A buffer.
home_display_extend buffer.home_display_extend(buffer)\nMoves the caret to the beginning of the current wrapped line, extending the\nselected text to the new position.\n@param buffer A buffer.
home_extend buffer.home_extend(buffer)\nMoves the caret to the beginning of the current line, extending the selected\ntext to the new position.\n@param buffer A buffer.
home_rect_extend buffer.home_rect_extend(buffer)\nMoves the caret to the beginning of the current line, extending the\nrectangular selection to the new position.\n@param buffer A buffer.
home_wrap buffer.home_wrap(buffer)\nMoves the caret to the beginning of the current wrapped line or, if already\nthere, to the beginning of the actual line.\n@param buffer A buffer.
home_wrap_extend buffer.home_wrap_extend(buffer)\nLike `buffer.home_wrap()`, but extends the selected text to the new position.\n@param buffer A buffer.
hotspot_active_underline buffer.hotspot_active_underline (bool)\nUnderline active hotspots.\nThe default value is `true`.
hotspot_single_line buffer.hotspot_single_line (bool)\nLimit hotspots to a single line.\nThe default value is `true`.
html _G.keys.html (table)\nContainer for HTML-specific key bindings.
html _G.snippets.html (table)\nContainer for HTML-specific snippets.
html _M.html (module)\nThe html module.\nIt provides utilities for editing HTML code.
huge math.huge (number)\nThe value `HUGE_VAL`, a value larger than or equal to any other numerical\nvalue.
iconv string.iconv(text, new, old)\nConverts string *text* from encoding *old* to encoding *new* using iconv,\nreturning the string result.\nValid encodings are GNU iconv's encodings and include:\n\n  * European: ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8-R, KOI8-U,\n    KOI8-RU, CP{1250,1251,1252,1253,1254,1257}, CP{850,866,1131},\n    Mac{Roman,CentralEurope,Iceland,Croatian,Romania},\n    Mac{Cyrillic,Ukraine,Greek,Turkish}, Macintosh.\n  * Semitic: ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic}.\n  * Japanese: EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2,\n    ISO-2022-JP-1.\n  * Chinese: EUC-CN, HZ, GBK, CP936, GB18030, EUC-TW, BIG5, CP950,\n    BIG5-HKSCS, BIG5-HKSCS:2004, BIG5-HKSCS:2001, BIG5-HKSCS:1999,\n    ISO-2022-CN, ISO-2022-CN-EXT.\n  * Korean: EUC-KR, CP949, ISO-2022-KR, JOHAB.\n  * Armenian: ARMSCII-8.\n  * Georgian: Georgian-Academy, Georgian-PS.\n  * Tajik: KOI8-T.\n  * Kazakh: PT154, RK1048.\n  * Thai: ISO-8859-11, TIS-620, CP874, MacThai.\n  * Laotian: MuleLao-1, CP1133.\n  * Vietnamese: VISCII, TCVN, CP1258.\n  * Unicode: UTF-8, UCS-2, UCS-2BE, UCS-2LE, UCS-4, UCS-4BE, UCS-4LE, UTF-16,\n    UTF-16BE, UTF-16LE, UTF-32, UTF-32BE, UTF-32LE, UTF-7, C99, JAVA.\n@param text The text to convert.\n@param new The string encoding to convert to.\n@param old The string encoding to convert from.
in_files ui.find.in_files (bool)\nFind search text in a list of files.\nThe default value is `false`.
in_files_label_text ui.find.in_files_label_text (string, Write-only)\nThe text of the "In files" label.\nThis is primarily used for localization.
indent buffer.indent (number)\nThe number of spaces in one level of indentation.\nThe default value is `0`, which uses the value of `buffer.tab_width`.
indent_amount lexer.indent_amount (table, Read-only)\nTable of indentation amounts in character columns, for line numbers\nstarting from zero.
indentation_guides buffer.indentation_guides (number)\nThe indentation guide drawing mode.\nIndentation guides are dotted vertical lines that appear within indentation\nwhitespace at each level of indentation.\n\n* `buffer.IV_NONE`\n  Does not draw any guides.\n* `buffer.IV_REAL`\n  Draw guides only within indentation whitespace.\n* `buffer.IV_LOOKFORWARD`\n  Draw guides beyond the current line up to the next non-empty line's\n  indentation level, but with an additional level if the previous non-empty\n  line is a fold point.\n* `buffer.IV_LOOKBOTH`\n  Draw guides beyond the current line up to either the indentation level of\n  the previous or next non-empty line, whichever is greater.\n\nThe default value is `buffer.IV_NONE`.
indic_alpha buffer.indic_alpha (table)\nTable of fill color alpha values, ranging from `0` (transparent) to `255`\n(opaque), for indicator numbers from `0` to `31` whose styles are either\n`INDIC_ROUNDBOX`, `INDIC_STRAIGHTBOX`, or `INDIC_DOTBOX`.\nThe default values are `buffer.ALPHA_NOALPHA`, for no alpha.
indic_fore buffer.indic_fore (table)\nTable of foreground colors, in "0xBBGGRR" format, for indicator numbers\nfrom `0` to `31`.
indic_outline_alpha buffer.indic_outline_alpha (table)\nTable of outline color alpha values, ranging from `0` (transparent) to\n`255` (opaque), for indicator numbers from `0` to `31` whose styles are\neither `INDIC_ROUNDBOX`, `INDIC_STRAIGHTBOX`, or `INDIC_DOTBOX`.\nThe default values are `buffer.ALPHA_NOALPHA`, for no alpha.
indic_style buffer.indic_style (table)\nTable of styles for indicator numbers from `0` to `31`.\n\n* `buffer.INDIC_PLAIN`\n  An underline.\n* `buffer.INDIC_SQUIGGLE`\n  A squiggly underline 3 pixels in height.\n* `buffer.INDIC_TT`\n  An underline of small 'T' shapes.\n* `buffer.INDIC_DIAGONAL`\n  An underline of diagonal hatches.\n* `buffer.INDIC_STRIKE`\n  Strike out.\n* `buffer.INDIC_HIDDEN`\n  Invisible.\n* `buffer.INDIC_BOX`\n  A bounding box.\n* `buffer.INDIC_ROUNDBOX`\n  A translucent box with rounded corners around the text. Use\n  `buffer.indic_alpha` and `buffer.indic_outline_alpha` to set the\n  fill and outline transparency, respectively. Their default values are\n  `30` and `50`.\n* `buffer.INDIC_STRAIGHTBOX`\n  Similar to `INDIC_ROUNDBOX` but with sharp corners.\n* `buffer.INDIC_DASH`\n  A dashed underline.\n* `buffer.INDIC_DOTS`\n  A dotted underline.\n* `buffer.INDIC_SQUIGGLELOW`\n  A squiggly underline 2 pixels in height.\n* `buffer.INDIC_DOTBOX`\n  Similar to `INDIC_STRAIGHTBOX` but with a dotted outline.\n  Translucency alternates between `buffer.indic_alpha` and\n  `buffer.indic_outline_alpha` starting with the top-left pixel.\n* `buffer.INDIC_SQUIGGLEPIXMAP`\n  Identical to `INDIC_SQUIGGLE` but draws faster by using a pixmap instead\n  of multiple line segments.\n* `buffer.INDIC_COMPOSITIONTHICK`\n  A 2-pixel thick underline at the bottom of the line inset by 1 pixel on\n  on either side. Similar in appearance to Asian language input\n  composition.\n\nUse `_SCINTILLA.next_indic_number()` for custom indicators.
indic_under buffer.indic_under (table)\nTable of flags that indicate whether or not to draw indicators behind text\ninstead of over the top of it for indicator numbers from `0` to `31`.\nFor values to be `true`, `buffer.two_phase_draw` must be `true`.\nThe default values are `false`.
indicator_all_on_for buffer.indicator_all_on_for(buffer, pos)\nReturns a bit-mask that represents which indicators are on at position *pos*.\nBit 0 is set if indicator 0 is on, bit 1 for indicator 1, etc.\n@param buffer A buffer.\n@param pos The position in *buffer* to get indicators at.\n@return number
indicator_clear_range buffer.indicator_clear_range(buffer, pos, length)\nClears indicator number `buffer.indicator_current` over the range of text\nfrom position *pos* to *pos* + *length*.\n@param buffer A buffer.\n@param pos The start position of the range of text in *buffer* to clear\n  indicators over.\n@param length The number of characters in the range of text to clear\n  indicators over.
indicator_current buffer.indicator_current (number)\nThe indicator number in the range of `0` to `31` used by\n`buffer.indicator_fill_range()` and\n`buffer.indicator_clear_range()`.
indicator_end buffer.indicator_end(buffer, indicator, pos)\nReturns the next boundary position, starting from position *pos*, of\nindicator number *indicator*, in the range of `0` to `31`.\nReturns `buffer.length` if *indicator* was not found.\n@param buffer A buffer.\n@param indicator An indicator number in the range of `0` to `31`.\n@param pos The position in *buffer* of the indicator.
indicator_fill_range buffer.indicator_fill_range(buffer, pos, length)\nFills the range of text from position *pos* to *pos* + *length* with\nindicator number `buffer.indicator_current`.\n@param buffer A buffer.\n@param pos The start position of the range of text in *buffer* to set\n  indicators over.\n@param length The number of characters in the range of text to set indicators\n  over.
indicator_start buffer.indicator_start(buffer, indicator, pos)\nReturns the previous boundary position, starting from position *pos*, of\nindicator number *indicator*, in the range of `0` to `31`.\nReturns `0` if *indicator* was not found.\n@param buffer A buffer.\n@param indicator An indicator number in the range of `0` to `31`.\n@param pos The position in *buffer* of the indicator.
input io.input([file])\nWhen called with a file name, it opens the named file (in text mode),\nand sets its handle as the default input file. When called with a file\nhandle, it simply sets this file handle as the default input file. When\ncalled without parameters, it returns the current default input file.\n\nIn case of errors this function raises the error, instead of returning an\nerror code.
inputbox ui.dialogs.inputbox(options)\nPrompts the user with an inputbox dialog defined by dialog options table\n*options*, returning the selected button's index along with the user's\ninput text (the latter as a string or table, depending on the type of\n*options*.`informative_text`).\nIf *options*.`string_output` is `true`, returns the selected button's label\nalong with the user's input text.\nIf the dialog timed out, returns `0` or `"timeout"`. If the user canceled the\ndialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the inputbox.\n\n  * `title`: The dialog's title text.\n  * `informative_text`: The dialog's main message text. If the value is a\n    table, the first table value is the main message text and any subsequent\n    values are used as the labels for multiple entry boxes. Providing a\n    single label has no effect.\n  * `text`: The dialog's initial input text. If the value is a table, the\n    table values are used to populate the multiple entry boxes defined by\n    `informative_text`.\n  * `button1`: The right-most button's label. The default value is\n    `_L['_OK']`.\n  * `button2`: The middle button's label.\n  * `button3`: The left-most button's label. This option requires `button2`\n    to be set.\n  * `string_output`: Return the selected button's label (instead of its\n    index) or the dialog's exit status instead of the button's index (instead\n    of its exit code). The default value is `false`.\n  * `width`: The dialog's pixel width.\n  * `height`: The dialog's pixel height.\n  * `float`: Show the dialog on top of all desktop windows. The default value\n    is `false`.\n  * `timeout`: the integer number of seconds the dialog waits for the user to\n    select a button before timing out. Dialogs do not time out by default.\n@usage ui.dialogs.inputbox{title = 'Goto Line', informative_text = 'Line:',\n  text = '1'}\n@return selected button or exit code, input text
insert table.insert(list, [pos, ] value)\nInserts element `value` at position `pos` in `list`, shifting up the elements\n`list[pos], list[pos+1], ···, list[#list]`. The default value for `pos` is\n`#list+1`, so that a call `table.insert(t,x)` inserts `x` at the end of list\n`t`.
insert_text buffer.insert_text(buffer, pos, text)\nInserts string *text* at position *pos*, removing any selections.\nIf *pos* is `-1`, inserts *text* at the caret position.\nIf the caret is after the *pos*, it is moved appropriately, but not scrolled\ninto view.\n@param buffer A buffer.\n@param pos The position in *buffer* to insert text at, or `-1` for the\n  current position.\n@param text The text to insert.
integer lexer.integer (pattern)\nA pattern that matches either a decimal, hexadecimal, or octal number.
io _G.io (module)\nLua io module.
ipairs _G.ipairs(t)\nIf `t` has a metamethod `__ipairs`, calls it with `t` as argument and returns\nthe first three results from the call.\n\nOtherwise, returns three values: an iterator function, the table `t`, and 0,\nso that the construction\n\n  for i,v in ipairs(t) do *body* end\n\nwill iterate over the pairs (`1,t[1]`), (`2,t[2]`), ..., up to the\nfirst integer key absent from the table.
join_lines textadept.editing.join_lines()\nJoins the currently selected lines or the current line with the line below\nit.\nAs long as any part of a line is selected, the entire line is eligible for\njoining.
keychain keys.keychain (table)\nThe current chain of key sequences. (Read-only.)\nUse the '#' operator (instead of `ipairs()`) for iteration.
keys _G.keys (module)\nManages key bindings in Textadept.
keys _G.keys (table)\nMap of key bindings to commands, with language-specific key tables assigned\nto a lexer name key.
keys textadept.keys (module)\nDefines key commands for Textadept.\nThis set of key commands is pretty standard among other text editors. If\napplicable, load this module second to last in your *~/.textadept/init.lua*,\nbefore `textadept.menu`.
kill spawn_proc:kill()\nKills running process *proc*.
last_char_includes lexer.last_char_includes(s)\nCreates and returns a pattern that verifies that string set *s* contains the\nfirst non-whitespace character behind the current match position.\n@param s String character set like one passed to `lpeg.S()`.\n@usage local regex = l.last_char_includes('+-*!%^&|=,([{') *\n  l.delimited_range('/')\n@return pattern
ldexp math.ldexp(m, e)\nReturns 'm2^e' (`e` should be an integer).
len string.len(s)\nReceives a string and returns its length. The empty string `""` has\nlength 0. Embedded zeros are counted, so `"a\000bc\000"` has length 5.
length buffer.length (number, Read-only)\nThe number of bytes in the buffer.
lex lexer.lex(lexer, text, init_style)\nLexes a chunk of text *text* (that has an initial style number of\n*init_style*) with lexer *lexer*.\nIf *lexer* has a `_LEXBYLINE` flag set, the text is lexed one line at a time.\nOtherwise the text is lexed as a whole.\n@param lexer The lexer object to lex with.\n@param text The text in the buffer to lex.\n@param init_style The current style. Multiple-language lexers use this to\n  determine which language to start lexing in.\n@return table of token names and positions.
lexer _G.lexer (module)\nLexes Scintilla documents with Lua and LPeg.
lexer lexer.lexer (table)\nIndividual fields for a lexer instance.
lexers textadept.file_types.lexers (table)\nList of available lexer names.
lfs _G.lfs (module)\nLua lfs module.
line_copy buffer.line_copy(buffer)\nCopies the current line to the clipboard.\n@param buffer A buffer.
line_count buffer.line_count (number, Read-only)\nThe number of lines in the buffer.\nThere is always at least one.
line_cut buffer.line_cut(buffer)\nCuts the current line to the clipboard.\n@param buffer A buffer.
line_delete buffer.line_delete(buffer)\nDeletes the current line.\n@param buffer A buffer.
line_down buffer.line_down(buffer)\nMoves the caret down one line.\n@param buffer A buffer.
line_down_extend buffer.line_down_extend(buffer)\nMoves the caret down one line, extending the selected text to the new\nposition.\n@param buffer A buffer.
line_down_rect_extend buffer.line_down_rect_extend(buffer)\nMoves the caret down one line, extending the rectangular selection to the new\nposition.\n@param buffer A buffer.
line_duplicate buffer.line_duplicate(buffer)\nDuplicates the current line on a new line below.\n@param buffer A buffer.
line_end buffer.line_end(buffer)\nMoves the caret to the end of the current line.\n@param buffer A buffer.
line_end_display buffer.line_end_display(buffer)\nMoves the caret to the end of the current wrapped line.\n@param buffer A buffer.
line_end_display_extend buffer.line_end_display_extend(buffer)\nMoves the caret to the end of the current wrapped line, extending the\nselected text to the new position.\n@param buffer A buffer.
line_end_extend buffer.line_end_extend(buffer)\nMoves the caret to the end of the current line, extending the selected text\nto the new position.\n@param buffer A buffer.
line_end_position buffer.line_end_position (table, Read-only)\nTable of positions at the ends of lines, but before any end of line\ncharacters, for line numbers starting from zero.
line_end_rect_extend buffer.line_end_rect_extend(buffer)\nMoves the caret to the end of the current line, extending the rectangular\nselection to the new position.\n@param buffer A buffer.
line_end_wrap buffer.line_end_wrap(buffer)\nMoves the caret to the end of the current wrapped line or, if already there,\nto the end of the actual line.\n@param buffer A buffer.
line_end_wrap_extend buffer.line_end_wrap_extend(buffer)\nLike `buffer.line_end_wrap()`, but extends the selected text to the new\nposition.\n@param buffer A buffer.
line_from_position buffer.line_from_position(buffer, pos)\nReturns the line number of the line that contains position *pos*.\nReturns `0` if *pos* is less than 0 or `buffer.line_count` if *pos* is\ngreater than `buffer.length`.\n@param buffer A buffer.\n@param pos The position in *buffer* to get the line number of.\n@return number
line_indent_position buffer.line_indent_position (table, Read-only)\nTable of positions at the ends of indentation for line numbers starting\nfrom zero.
line_indentation buffer.line_indentation (table)\nTable of column indentation amounts, for line numbers starting from zero.
line_length buffer.line_length(buffer, line)\nReturns the number of bytes on line number *line*, including end of line\ncharacters.\nTo get line length excluding end of line characters, use\n`buffer.line_end_position[line] - buffer.position_from_line(line)`.\n@param buffer A buffer.\n@param line The line number in *buffer* to get the length of.\n@return number
line_scroll buffer.line_scroll(buffer, columns, lines)\nScrolls the buffer right *columns* columns and down *lines* lines.\nNegative values are allowed.\n@param buffer A buffer.\n@param columns The number of columns to scroll horizontally.\n@param lines The number of lines to scroll vertically.
line_scroll_down buffer.line_scroll_down(buffer)\nScrolls the buffer down one line, keeping the caret visible.\n@param buffer A buffer.
line_scroll_up buffer.line_scroll_up(buffer)\nScrolls the buffer up one line, keeping the caret visible.\n@param buffer A buffer.
line_state buffer.line_state (table)\nTable of integer line states for line numbers starting from zero.\nLine states are unaffected by changes in styling and are available in\naddition to the 8 bits of styling information per character.
line_transpose buffer.line_transpose(buffer)\nSwaps the current line with the previous one.\n@param buffer A buffer.
line_up buffer.line_up(buffer)\nMoves the caret up one line.\n@param buffer A buffer.
line_up_extend buffer.line_up_extend(buffer)\nMoves the caret up one line, extending the selected text to the new position.\n@param buffer A buffer.
line_up_rect_extend buffer.line_up_rect_extend(buffer)\nMoves the caret up one line, extending the rectangular selection to the new\nposition.\n@param buffer A buffer.
line_visible buffer.line_visible (table, Read-only)\nTable of flags that indicate whether or not lines are visible for line\nnumbers starting from zero.
lines file:lines(···)\nReturns an iterator function that, each time it is called, reads the file\naccording to the given formats. When no format is given, uses "*l" as a\ndefault. As an example, the construction\n\n  for c in file:lines(1) do <em>body</em> end\n\nwill iterate over all characters of the file, starting at the current\nposition. Unlike `io.lines`, this function does not close the file when the\nloop ends.\n\nIn case of errors this function raises the error, instead of returning an\nerror code.
lines io.lines([filename ···])\nOpens the given file name in read mode and returns an iterator function that\nworks like `file:lines(···)` over the opened file. When the iterator function\ndetects -- the end of file, it returns nil (to finish the loop) and\nautomatically closes the file.\n\nThe call `io.lines()` (with no file name) is equivalent to\n`io.input():lines()`; that is, it iterates over the lines of the default\ninput file. In this case it does not close the file when the loop ends.\n\nIn case of errors this function raises the error, instead of returning an\nerror code.
lines_join buffer.lines_join(buffer)\nJoins the lines in the target range, inserting spaces between the words\njoined at line boundaries.\n@param buffer A buffer.
lines_on_screen buffer.lines_on_screen (number, Read-only)\nThe number of completely visible lines in the view.\nIt is possible to have a partial line visible at the bottom of the view.
lines_split buffer.lines_split(buffer, pixel_width, width)\nSplits the lines in the target range into lines *width* pixels wide.\nIf *width* is `0`, splits the lines in the target range into lines as wide as\nthe view.\n@param buffer A buffer.\n@param width The pixel width to split lines at. When `0`, uses the width of\n  the view.
load _G.load(ld [, source [, mode [, env]]])\nLoads a chunk.\n\nIf `ld` is a string, the chunk is this string. If `ld` is a function, `load`\ncalls it repeatedly to get the chunk pieces. Each call to `ld` must return a\nstring that concatenates with previous results. A return of an empty string,\nnil, or no value signals the end of the chunk.\n\nIf there are no syntactic errors, returns the compiled chunk as a function;\notherwise, returns <b>nil</b> plus the error message.\n\nIf the resulting function has upvalues, the first upvalue is set to the value\nof `env`, if that parameter is given, or to the value of the global\nenvironment. (When you load a main chunk, the resulting function will always\nhave exactly one upvalue, the `_ENV` variable (see §2.2). When you load a\nbinary chunk created from a function (see `string.dump`), the resulting\nfunction can have arbitrary upvalues.)\n\n`source` is used as the source of the chunk for error messages and debug\ninformation (see §4.9). When absent, it defaults to `ld`, if `ld` is a\nstring, or to "`=(load)`" otherwise.\n\nThe string `mode` controls whether the chunk can be text or binary (that is,\na precompiled chunk). It may be the string "`b`" (only binary chunks), "`t`"\n(only text chunks), or "`bt`" (both binary and text). The default is "`bt`".
load lexer.load(name, alt_name)\nInitializes or loads and returns the lexer of string name *name*.\nScintilla calls this function to load a lexer. Parent lexers also call this\nfunction to load child lexers and vice-versa. The user calls this function\nto load a lexer when using Scintillua as a Lua library.\n@param name The name of the lexing language.\n@param alt_name The alternate name of the lexing language. This is useful for\n  embedding the same child lexer with multiple sets of start and end tokens.\n@return lexer object
load textadept.session.load(filename)\nLoads session file *filename* or the user-selected session, returning `true`\nif a session file was opened and read.\nTextadept restores split views, opened buffers, cursor information, and\nrecent files.\n@param filename Optional absolute path to the session file to load. If `nil`,\n  the user is prompted for one.\n@usage textadept.session.load(filename)\n@return `true` if the session file was opened and read; `false` otherwise.\n@see DEFAULT_SESSION
loaded package.loaded (table)\nA table used by `require` to control which modules are already loaded. When\nyou require a module `modname` and `package.loaded[modname]` is not false,\n`require` simply returns the value stored there.\nThis variable is only a reference to the real table; assignments to this\nvariable do not change the table used by `require`.
loadfile _G.loadfile([filename [, mode [, env]]])\nSimilar to `load`, but gets the chunk from file `filename` or from the\nstandard input, if no file name is given.
loadlib package.loadlib(libname, funcname)\nDynamically links the host program with the C library `libname`.\n\nIf `funcname` is "`*`", then it only links with the library, making the\nsymbols exported by the library available to other dynamically linked\nlibraries. Otherwise, it looks for a function `funcname` inside the library\nand returns this function as a C function. So, `funcname` must follow the\n`lua_CFunction` prototype (see `lua_CFunction`).\n\nThis is a low-level function. It completely bypasses the package and module\nsystem. Unlike `require`, it does not perform any path searching and does\nnot automatically adds extensions. `libname` must be the complete file name\nof the C library, including if necessary a path and an extension. `funcname`\nmust be the exact name exported by the C library (which may depend on the\nC compiler and linker used).\n\nThis function is not supported by Standard C. As such, it is only available\non some platforms (Windows, Linux, Mac OS X, Solaris, BSD, plus other Unix\nsystems that support the `dlfcn` standard).
locale lpeg.locale([table])\nReturns a table with patterns for matching some character classes according\nto the current locale. The table has fields named `alnum`, `alpha`, `cntrl`,\n`digit`, `graph`, `lower`, `print`, `punct`, `space`, `upper`, and `xdigit`,\neach one containing a correspondent pattern. Each pattern matches any single\ncharacter that belongs to its class.\n\nIf called with an argument `table`, then it creates those fields inside the\ngiven table and returns that table.
lock lfs.lock(filehandle, mode[, start[, length]])\nLocks a file or a part of it. This function works on open files; the file\nhandle should be specified as the first argument. The string mode could be\neither r (for a read/shared lock) or w (for a write/exclusive lock). The\noptional arguments start and length can be used to specify a starting point\nand its length; both should be numbers.\n\nReturns true if the operation was successful; in case of error, it returns\nnil plus an error string.
lock_dir lfs.lock_dir(path, [seconds_stale])\nCreates a lockfile (called lockfile.lfs) in path if it does not exist and\nreturns the lock. If the lock already exists checks it it's stale, using the\nsecond parameter (default for the second parameter is INT_MAX, which in\npractice means the lock will never be stale. To free the the lock call\nlock:free().\n\nIn case of any errors it returns nil and the error message. In particular,\nif the lock exists and is not stale it returns the "File exists" message.
log math.log(x [, base])\nReturns the logarithm of `x` in the given base. The default for `base` is 'e'\n(so that the function returns the natural logarithm of `x`).
lower lexer.lower (pattern)\nA pattern that matches any lower case character ('a'-'z').
lower string.lower(s)\nReceives a string and returns a copy of this string with all uppercase\nletters changed to lowercase. All other characters are left unchanged. The\ndefinition of what an uppercase letter is depends on the current locale.
lower_case buffer.lower_case(buffer)\nConverts the selected text to lower case letters.\n@param buffer A buffer.
lpeg _G.lpeg (module)\nLua lpeg module.
lrotate bit32.lrotate(x, disp)\nReturns the number `x` rotated `disp` bits to the left. The number `disp` may\nbe any representable integer.\n\nFor any valid displacement, the following identity holds:\n\n  assert(bit32.lrotate(x, disp) == bit32.lrotate(x, disp % 32))\n\nIn particular, negative displacements rotate to the right.
lshift bit32.lshift(x, disp)\nReturns the number `x` shifted `disp` bits to the left. The number `disp` may\nbe any representable integer. Negative displacements shift to the right. In\nany direction, vacant bits are filled with zeros. In particular,\ndisplacements with absolute values higher than 31 result in zero (all bits\nare shifted out).\n\nFor positive displacements, the following equality holds:\n\n  assert(bit32.lshift(b, disp) == (b * 2^disp) % 2^32)
lua _G.keys.lua (table)\nContainer for Lua-specific key bindings.
lua _G.snippets.lua (table)\nContainer for Lua-specific snippets.
lua _M.lua (module)\nThe lua module.\nIt provides utilities for editing Lua code.
lua ui.find.lua (bool)\nInterpret search text as a Lua pattern.\nThe default value is `false`.
lua_pattern_label_text ui.find.lua_pattern_label_text (string, Write-only)\nThe text of the "Lua pattern" label.\nThis is primarily used for localization.
main_selection buffer.main_selection (number)\nThe number of the main, or most recent, selection.\nOnly an existing selection can be made main.
margin_cursor_n buffer.margin_cursor_n (table)\nTable of cursor types shown over margin numbers from zero to four.\n\n* `buffer.CURSORARROW`\n  Normal arrow cursor.\n* `buffer.CURSORREVERSEARROW`\n  Reversed arrow cursor.\n\nThe default values are `buffer.CURSORREVERSEARROW`.
margin_left buffer.margin_left (number)\nThe pixel size of the left margin of the buffer text.\nThe default value is `1`.
margin_mask_n buffer.margin_mask_n (table)\nTable of bit-masks of markers whose symbols marker symbol margins can\ndisplay for margin numbers from zero to four.\nBit-masks are 32-bit values whose bits correspond to the 32 available\nmarkers.\nThe default values are `0`, `bit32.bnot(buffer.MASK_FOLDERS)`, `0`, `0`,\nand `0`, for a line margin and logical marker margin.
margin_options buffer.margin_options (number)\nA bit-mask of margin option settings.\n\n* `buffer.MARGINOPTION_NONE`\n  None.\n* `buffer.MARGINOPTION_SUBLINESELECT`\n  Select only a wrapped line's sub-line (rather than the entire line) when\n  the line number margin is clicked.\n\nThe default value is `buffer.MARGINOPTION_NONE`.
margin_right buffer.margin_right (number)\nThe pixel size of the right margin of the buffer text.\nThe default value is `1`.
margin_sensitive_n buffer.margin_sensitive_n (table)\nTable of flags that indicate whether or not mouse clicks in margins emit\n`MARGIN_CLICK` events for margin numbers from zero to four.\nThe default values are `false`.
margin_style buffer.margin_style (table)\nTable of style numbers for line numbers starting from zero in the text\nmargin.\nOnly some style attributes are active in text margins: font, size, bold,\nitalics, fore, and back.
margin_style_offset buffer.margin_style_offset (number)\nThe beginning of the range of style numbers used for margin text.\nAlways set this to the result of `buffer.allocate_extended_styles()`.\nMargin styles may be completely separated from standard text styles by\nsetting a style offset. For example, when set to `256`, margin styles are\nnumbered from `256` upto `511` so they do not overlap styles set by lexers.\nEach style number set with `margin_style` has the offset added before\nlooking up the style.\nThe default value is `0`.
margin_text buffer.margin_text (table)\nTable of text displayed in text margins for line numbers starting from\nzero.
margin_text_clear_all buffer.margin_text_clear_all(buffer)\nClears all text in text margins.\n@param buffer A buffer.
margin_type_n buffer.margin_type_n (table)\nTable of margin types for margin numbers from zero to four.\n\n* `buffer.MARGIN_SYMBOL`\n  A marker symbol margin.\n* `buffer.MARGIN_NUMBER`\n  A line number margin.\n* `buffer.MARGIN_BACK`\n  A marker symbol margin whose background color matches the default text\n  background color.\n* `buffer.MARGIN_FORE`\n  A marker symbol margin whose foreground color matches the default text\n  foreground color.\n* `buffer.MARGIN_TEXT`\n  A text margin.\n* `buffer.MARGIN_RTEXT`\n  A right-justified text margin.\n\nThe default value for the first margin is `buffer.MARGIN_NUMBER`, followed\nby `buffer.MARGIN_SYMBOL` for the rest.
margin_width_n buffer.margin_width_n (table)\nTable of pixel margin widths for margin numbers from zero to four.
marker_add buffer.marker_add(buffer, line, marker)\nAdds marker number *marker*, in the range of `0` to `31`, to line number\n*line*, returning the added marker's handle which can be used in\n`buffer.marker_delete_handle()` and `buffer.marker_line_from_handle()`, or\n`0` if *line* is invalid.\n@param buffer A buffer.\n@param line The line number to add the marker on.\n@param marker The marker number in the range of `0` to `31` to add.\n@return number
marker_add_set buffer.marker_add_set(buffer, line, marker_mask)\nAdds the markers specified in marker bit-mask *marker_mask* to line number\n*line*.\nThe first bit is set to add marker number 0, the second bit for marker number\n1, and so on up to marker number 31.\n@param buffer A buffer.\n@param line The line number to add the markers on.\n@param marker_mask The mask of markers to set. Set bit 0 to set marker 0, bit\n  1 for marker 1 and so on.
marker_alpha buffer.marker_alpha (table, Write-only)\nTable of alpha values, ranging from `0` (transparent) to `255` (opaque),\nof markers drawn in the text area (not the margin) for markers numbers from\n`0` to `31`.\nThe default values are `buffer.ALPHA_NOALPHA`, for no alpha.
marker_back buffer.marker_back (table, Write-only)\nTable of background colors, in "0xBBGGRR" format, of marker numbers from\n`0` to `31`.
marker_back_selected buffer.marker_back_selected (table, Write-only)\nTable of background colors, in "0xBBGGRR" format, of markers whose folding\nblocks are selected for marker numbers from `0` to `31`.
marker_define buffer.marker_define(buffer, marker, symbol)\nAssigns marker symbol *symbol* to marker number *marker*, in the range of `0`\nto `31`.\n*symbol* is shown in marker symbol margins next to lines marked with\n*marker*.\n@param buffer A buffer.\n@param marker The marker number in the range of `0` to `31` to set *symbol*\n  for.\n@param symbol The marker symbol: `buffer.MARK_*`.\n@see _SCINTILLA.next_marker_number
marker_define_pixmap buffer.marker_define_pixmap(buffer, marker, pixmap)\nAssociates marker number *marker*, in the range of `0` to `31`, with XPM\nimage *pixmap*.\nThe `buffer.MARK_PIXMAP` marker symbol must be assigned to *marker*.\n*pixmap* is shown in marker symbol margins next to lines marked with\n*marker*.\n@param buffer A buffer.\n@param marker The marker number in the range of `0` to `31` to define\n  pixmap *pixmap* for.\n@param pixmap The string pixmap data.
marker_define_rgba_image buffer.marker_define_rgba_image(buffer, marker, pixels)\nAssociates marker number *marker*, in the range of `0` to `31`, with RGBA\nimage *pixels*.\nThe dimensions for *pixels* (`buffer.rgba_image_width` and\n`buffer.rgba_image_height`) must have already been defined. *pixels* is a\nsequence of 4 byte pixel values (red, blue, green, and alpha) defining the\nimage line by line starting at the top-left pixel.\nThe `buffer.MARK_RGBAIMAGE` marker symbol must be assigned to *marker*.\n*pixels* is shown in symbol margins next to lines marked with *marker*.\n@param buffer A buffer.\n@param marker The marker number in the range of `0` to `31` to define RGBA\n  data *pixels* for.\n@param pixels The string sequence of 4 byte pixel values starting with the\n  pixels for the top line, with the leftmost pixel first, then continuing\n  with the pixels for subsequent lines. There is no gap between lines for\n  alignment reasons. Each pixel consists of, in order, a red byte, a green\n  byte, a blue byte and an alpha byte. The colour bytes are not premultiplied\n  by the alpha value. That is, a fully red pixel that is 25% opaque will be\n  `[FF, 00, 00, 3F]`.
marker_delete buffer.marker_delete(buffer, line, marker)\nDeletes marker number *marker*, in the range of `0` to `31`, from line number\n*line*. If *marker* is `-1`, deletes all markers from *line*.\n@param buffer A buffer.\n@param line The line number to delete the marker on.\n@param marker The marker number in the range of `0` to `31` to delete from\n  *line*, or `-1` to delete all markers from the line.
marker_delete_all buffer.marker_delete_all(buffer, marker)\nDeletes marker number *marker*, in the range of `0` to `31`, from any line\nthat has it.\nIf *marker* is `-1`, deletes all markers from all lines.\n@param buffer A buffer.\n@param marker The marker number in the range of `0` to `31` to delete from\n  all lines, or `-1` to delete all markers from all lines.
marker_delete_handle buffer.marker_delete_handle(buffer, handle)\nDeletes the marker with handle *handle* returned by `buffer.marker_add()`.\n@param buffer A buffer.\n@param handle The identifier of a marker returned by `buffer.marker_add()`.
marker_enable_highlight buffer.marker_enable_highlight(buffer, enabled)\nHighlights the margin fold markers for the current fold block if *enabled* is\n`true`.\n@param buffer A buffer.\n@param enabled Whether or not to enable highlight.
marker_fore buffer.marker_fore (table, Write-only)\nTable of foreground colors, in "0xBBGGRR" format, of marker numbers from\n`0` to `31`.
marker_get buffer.marker_get(buffer, line)\nReturns a bit-mask that represents the markers that were added to line number\n*line*.\nThe first bit is set if marker number 0 is present, the second bit for marker\nnumber 1, and so on.\n@param buffer A buffer.\n@param line The line number to get markers on.\n@return number
marker_line_from_handle buffer.marker_line_from_handle(buffer, handle)\nReturns the line number that marker handle *handle*, returned by\n`buffer.marker_add()`, was added to, or `-1` if the line was not found.\n@param buffer A buffer.\n@param handle The identifier of a marker returned by `buffer.marker_add()`.\n@return number
marker_next buffer.marker_next(buffer, line, marker_mask)\nReturns the first line number, starting at line number *line*, that has had\nall of the markers represented by marker bit-mask *marker_mask* added to it.\nReturns `-1` if no line was found.\nBit 0 is set if marker 0 is set, bit 1 for marker 1, etc., up to marker 31.\n@param buffer A buffer.\n@param line The start line to search from.\n@param marker_mask The mask of markers to find. Set bit 0 to find marker 0,\n  bit 1 for marker 1 and so on.\n@return number
marker_previous buffer.marker_previous(buffer, line, marker_mask)\nReturns the last line number, before or on line number *line*, that has had\nall of the markers represented by marker bit-mask *marker_mask* added to it.\nReturns `-1` if no line was found.\nBit 0 is set if marker 0 is set, bit 1 for marker 1, etc., up to marker 31.\n@param buffer A buffer.\n@param line The start line to search from.\n@param marker_mask The mask of markers to find. Set bit 0 to find marker 0,\n  bit 1 for marker 1 and so on.\n@return number
marker_symbol_defined buffer.marker_symbol_defined(buffer, marker)\nReturns the symbol assigned to marker number *marker*, in the range of `0` to\n`31`, used in `buffer.marker_define()`,\n`buffer.marker_define_pixmap()`, or `buffer.marker_define_rgba_image()`.\n@param buffer A buffer.\n@param marker The marker number in the range of `0` to `31` to get the symbol\n  of.\n@return number
match lpeg.match(pattern, subject [, init])\nThe matching function. It attempts to match the given pattern against the\nsubject string. If the match succeeds, returns the index in the subject of\nthe first character after the match, or the captured values (if the pattern\ncaptured any value).\n\nAn optional numeric argument `init` makes the match start at that position in\nthe subject string. As usual in Lua libraries, a negative value counts from\nthe end.\n\nUnlike typical pattern-matching functions, match works only in anchored mode;\nthat is, it tries to match the pattern with a prefix of the given subject\nstring (at position `init`), not with an arbitrary substring of the subject.\nSo, if we want to find a pattern anywhere in a string, we must either write a\nloop in Lua or write a pattern that matches anywhere. This second approach is\neasy and quite efficient; see examples.
match string.match(s, pattern [, init])\nLooks for the first *match* of `pattern` in the string `s`. If it\nfinds one, then `match` returns the captures from the pattern; otherwise\nit returns nil. If `pattern` specifies no captures, then the whole match\nis returned. A third, optional numerical argument `init` specifies where\nto start the search; its default value is 1 and can be negative.
match_brace textadept.editing.match_brace(select)\nGoes to the current character's matching brace, selecting the text in between\nif *select* is `true`.\n@param select Optional flag indicating whether or not to select the text\n  between matching braces. The default value is `false`.
match_case ui.find.match_case (bool)\nMatch search text case sensitively.\nThe default value is `false`.
match_case_label_text ui.find.match_case_label_text (string, Write-only)\nThe text of the "Match case" label.\nThis is primarily used for localization.
math _G.math (module)\nLua math module.
max math.max(x, ···)\nReturns the maximum value among its arguments.
max_line_state buffer.max_line_state (number, Read-only)\nThe last line number with a non-zero line state.
maximized ui.maximized (bool)\nWhether or not Textadept's window is maximized.
menu textadept.menu (module)\nDefines the menus used by Textadept.\nMenus are simply tables and may be edited in place. Submenus have `title`\nkeys with string text. Use the '#' operator (instead of `ipairs()`) for\niteration.\nIf applicable, load this module last in your *~/.textadept/init.lua*, after\n`textadept.keys` since it looks up defined key commands to show them in\nmenus.
menu ui.menu(menu_table)\nLow-level function for creating a menu from table *menu_table* and returning\nthe userdata.\nYou probably want to use the higher-level `textadept.menu.menubar`,\n`textadept.menu.context_menu`, or `textadept.menu.tab_context_menu` tables.\nEmits a `MENU_CLICKED` event when a menu item is selected.\n@param menu_table A table defining the menu. It is an ordered list of tables\n  with a string menu item, integer menu ID, and optional GDK keycode and\n  modifier mask. The latter two are used to display key shortcuts in the\n  menu. '_' characters are treated as a menu mnemonics. If the menu item is\n  empty, a menu separator item is created. Submenus are just nested\n  menu-structure tables. Their title text is defined with a `title` key.\n@usage ui.menu{{'_New', 1}, {'_Open', 2}, {''}, {'_Quit', 4}}\n@usage ui.menu{{'_New', 1, string.byte('n'), 4}} -- 'Ctrl+N'\n@see events.MENU_CLICKED\n@see textadept.menu.menubar\n@see textadept.menu.context_menu\n@see textadept.menu.tab_context_menu
menubar textadept.menu.menubar (table)\nThe default main menubar.
menubar ui.menubar (table)\nA table of menus defining a menubar.\nThis is a low-level field. You probably want to use the higher-level\n`textadept.menu.menubar`.\n@see textadept.menu.menubar
min math.min(x, ···)\nReturns the minimum value among its arguments.
mkdir lfs.mkdir(dirname)\nCreates a new directory. The argument is the name of the new directory.\n\nReturns true if the operation was successful; in case of error, it returns\nnil plus an error string.
modf math.modf(x)\nReturns two numbers, the integral part of `x` and the fractional part of\n`x`.
modify buffer.modify (bool)\nWhether or not the buffer has unsaved changes.
mouse_dwell_time buffer.mouse_dwell_time (number)\nThe number of milliseconds the mouse must idle before generating a\n`DWELL_START` event. A time of `buffer.TIME_FOREVER` will never generate\none.
mouse_selection_rectangular_switch buffer.mouse_selection_rectangular_switch (bool)\nWhether or not pressing `buffer.rectangular_selection_modifier` when\nselecting text normally with the mouse turns on rectangular selection.\nThe default value is `false`.
move_caret_inside_view buffer.move_caret_inside_view(buffer)\nMoves the caret into view if it is not already, removing any selections.\n@param buffer A buffer.
move_selected_lines_down buffer.move_selected_lines_down(buffer)\nShifts the selected lines down one line.\n@param buffer A buffer.
move_selected_lines_up buffer.move_selected_lines_up(buffer)\nShifts the selected lines up one line.\n@param buffer A buffer.
msgbox ui.dialogs.msgbox(options)\nPrompts the user with a generic message box dialog defined by dialog options\ntable *options*, returning the selected button's index.\nIf *options*.`string_output` is `true`, returns the selected button's label.\nIf the dialog timed out, returns `0` or `"timeout"`. If the user canceled the\ndialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the message box.\n\n  * `title`: The dialog's title text.\n  * `text`: The dialog's main message text.\n  * `informative_text`: The dialog's extra informative text.\n  * `icon`: The dialog's GTK stock icon name. Examples are\n    "gtk-dialog-error", "gtk-dialog-info", "gtk-dialog-question", and\n    "gtk-dialog-warning". The dialog does not display an icon by default.\n  * `icon_file`: The dialog's icon file path. This option has no effect when\n    `icon` is set.\n  * `button1`: The right-most button's label. The default value is\n    `_L['_OK']`.\n  * `button2`: The middle button's label.\n  * `button3`: The left-most button's label. This option requires `button2`\n    to be set.\n  * `string_output`: Return the selected button's label (instead of its\n    index) or the dialog's exit status instead of the button's index (instead\n    of its exit code). The default value is `false`.\n  * `width`: The dialog's pixel width.\n  * `height`: The dialog's pixel height.\n  * `float`: Show the dialog on top of all desktop windows. The default value\n    is `false`.\n  * `timeout`: The integer number of seconds the dialog waits for the user to\n    select a button before timing out. Dialogs do not time out by default.\n@usage ui.dialogs.msgbox{title = 'EOL Mode', text = 'Which EOL?',\n  icon = 'gtk-dialog-question', button1 = 'CRLF', button2 = 'CR',\n  button3 = 'LF'}\n@return selected button or exit code
multi_paste buffer.multi_paste (number)\nThe multiple selection paste mode.\n\n* `buffer.MULTIPASTE_ONCE`\n  Paste into only the main selection.\n* `buffer.MULTIPASTE_EACH`\n  Paste into all selections.\n\nThe default value is `buffer.MULTIPASTE_ONCE`.
multiple_selection buffer.multiple_selection (bool)\nEnable multiple selection.\nThe default value is `false`.
nested_pair lexer.nested_pair(start_chars, end_chars)\nReturns a pattern that matches a balanced range of text that starts with\nstring *start_chars* and ends with string *end_chars*.\nWith single-character delimiters, this function is identical to\n`delimited_range(start_chars..end_chars, false, true, true)`.\n@param start_chars The string starting a nested sequence.\n@param end_chars The string ending a nested sequence.\n@usage local nested_comment = l.nested_pair('/*', '*/')\n@return pattern\n@see delimited_range
new buffer.new()\nCreates and returns a new buffer.\nEmits a `BUFFER_NEW` event.\n@return the new buffer.\n@see events.BUFFER_NEW
new_line buffer.new_line(buffer)\nTypes a new line at the caret position according to `buffer.eol_mode`.\n@param buffer A buffer.
newline lexer.newline (pattern)\nA pattern that matches any set of end of line characters.
next _G.next(table [, index])\nAllows a program to traverse all fields of a table. Its first argument is\na table and its second argument is an index in this table. `next` returns\nthe next index of the table and its associated value. When called with nil\nas its second argument, `next` returns an initial index and its associated\nvalue. When called with the last index, or with nil in an empty table, `next`\nreturns nil. If the second argument is absent, then it is interpreted as\nnil. In particular, you can use `next(t)` to check whether a table is empty.\n\nThe order in which the indices are enumerated is not specified, *even for\nnumeric indices*. (To traverse a table in numeric order, use a numerical\n`for`.)\n\nThe behavior of `next` is undefined if, during the traversal, you assign any\nvalue to a non-existent field in the table. You may however modify existing\nfields. In particular, you may clear existing fields.
next_image_type _SCINTILLA.next_image_type()\nReturns a unique image type identier number for use with\n`buffer.register_image()` and `buffer.register_rgba_image()`.\nUse this function for custom image types in order to prevent clashes with\nidentifiers of other custom image types.\n@usage local image_type = _SCINTILLA.next_image_type()\n@see buffer.register_image\n@see buffer.register_rgba_image
next_indic_number _SCINTILLA.next_indic_number()\nReturns a unique indicator number for use with custom indicators.\nUse this function for custom indicators in order to prevent clashes with\nidentifiers of other custom indicators.\n@usage local indic_num = _SCINTILLA.next_indic_number()\n@see buffer.indic_style
next_marker_number _SCINTILLA.next_marker_number()\nReturns a unique marker number for use with `buffer.marker_define()`.\nUse this function for custom markers in order to prevent clashes with\nidentifiers of other custom markers.\n@usage local marknum = _SCINTILLA.next_marker_number()\n@see buffer.marker_define
next_user_list_type _SCINTILLA.next_user_list_type()\nReturns a unique user list identier number for use with\n`buffer.user_list_show()`.\nUse this function for custom user lists in order to prevent clashes with\nlist identifiers of other custom user lists.\n@usage local list_type = _SCINTILLA.next_user_list_type()\n@see buffer.user_list_show
nonnewline lexer.nonnewline (pattern)\nA pattern that matches any single, non-newline character.
nonnewline_esc lexer.nonnewline_esc (pattern)\nA pattern that matches any single, non-newline character or any set of end\nof line characters escaped with '\'.
oct_num lexer.oct_num (pattern)\nA pattern that matches an octal number.
ok_msgbox ui.dialogs.ok_msgbox(options)\nPrompts the user with a generic message box dialog defined by dialog options\ntable *options* and with localized "Ok" and "Cancel" buttons, returning the\nselected button's index.\nIf *options*.`string_output` is `true`, returns the selected button's label.\nIf the dialog timed out, returns `0` or `"timeout"`. If the user canceled the\ndialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the message box.\n\n  * `title`: The dialog's title text.\n  * `text`: The dialog's main message text.\n  * `informative_text`: The dialog's extra informative text.\n  * `icon`: The dialog's GTK stock icon name. Examples are\n    "gtk-dialog-error", "gtk-dialog-info", "gtk-dialog-question", and\n    "gtk-dialog-warning". The dialog does not display an icon by default.\n  * `icon_file`: The dialog's icon file path. This option has no effect when\n    `icon` is set.\n  * `no_cancel`: Do not display the "Cancel" button. The default value is\n    `false`.\n  * `string_output`: Return the selected button's label (instead of its\n    index) or the dialog's exit status instead of the button's index (instead\n    of its exit code). The default value is `false`.\n  * `width`: The dialog's pixel width.\n  * `height`: The dialog's pixel height.\n  * `float`: Show the dialog on top of all desktop windows. The default value\n    is `false`.\n  * `timeout`: the integer number of seconds the dialog waits for the user to\n    select a button before timing out. Dialogs do not time out by default.\n@return selected button or exit code
open io.open(filename [, mode])\nThis function opens a file, in the mode specified in the string `mode`. It\nreturns a new file handle, or, in case of errors, nil plus an error message.\n\nThe `mode` string can be any of the following:\n  "r": read mode (the default);\n  "w": write mode;\n  "a": append mode;\n  "r+": update mode, all previous data is preserved;\n  "w+": update mode, all previous data is erased;\n  "a+": append update mode, previous data is preserved, writing is only\n        allowed at the end of file.\n\nThe `mode` string can also have a '`b`' at the end, which is needed in\nsome systems to open the file in binary mode.
open_file io.open_file(filenames)\nOpens *filenames*, a string filename or list of filenames, or the\nuser-selected filenames.\nEmits a `FILE_OPENED` event.\n@param filenames Optional string filename or table of filenames to open. If\n  `nil`, the user is prompted with a fileselect dialog.\n@see _G.events
open_image _M.rest.open_image()\nOpens the image specified in an "image" or "figure" directive on the current\nline.
open_recent_file io.open_recent_file()\nPrompts the user to select a recently opened file to be reopened.\n@see recent_files
optionselect ui.dialogs.optionselect(options)\nPrompts the user with an option selection dialog defined by dialog options\ntable *options*, returning the selected button's index along with the indices\nof the selected options.\nIf *options*.`string_output` is `true`, returns the selected button's label\nalong with the text of the selected options.\nIf the dialog timed out, returns `0` or `"timeout"`. If the user canceled the\ndialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the option select dialog.\n\n  * `title`: The dialog's title text.\n  * `text`: The dialog's main message text.\n  * `items`: The list of string options to show in the option group.\n  * `button1`: The right-most button's label. The default value is\n    `_L['_OK']`.\n  * `button2`: The middle button's label.\n  * `button3`: The left-most button's label. This option requires `button2`\n    to be set.\n  * `select`: The indices of initially selected options.\n  * `string_output`: Return the selected button's label or the dialog's exit\n    status along with the selected options' text instead of the button's\n    index or the dialog's exit code along with the options' indices. The\n    default value is `false`.\n  * `width`: The dialog's pixel width.\n  * `height`: The dialog's pixel height.\n  * `float`: Show the dialog on top of all desktop windows. The default value\n    is `false`.\n  * `timeout`: the integer number of seconds the dialog waits for the user to\n    select a button before timing out. Dialogs do not time out by default.\n@usage ui.dialogs.optionselect{title = 'Language',\n  informative_text = 'Check the languages you understand'\n  items = {'English', 'Romanian'}, select = 1, string_output = true}\n@return selected button or exit code, list of selected options
os _G.os (module)\nLua os module.
output io.output([file])\nSimilar to `io.input`, but operates over the default output file.
overtype buffer.overtype (bool)\nEnable overtype mode, where typed characters overwrite existing ones.\nThe default value is `false`.
pack table.pack(···)\nReturns a new table with all parameters stored into keys 1, 2, etc. and with\na field "`n`" with the total number of parameters. Note that the resulting\ntable may not be a sequence.
package _G.package (module)\nLua package module.
page_down buffer.page_down(buffer)\nMoves the caret down one page.\n@param buffer A buffer.
page_down_extend buffer.page_down_extend(buffer)\nMoves the caret down one page, extending the selected text to the new\nposition.\n@param buffer A buffer.
page_down_rect_extend buffer.page_down_rect_extend(buffer)\nMoves the caret down one page, extending the rectangular selection to the new\nposition.\n@param buffer A buffer.
page_up buffer.page_up(buffer)\nMoves the caret up one page.\n@param buffer A buffer.
page_up_extend buffer.page_up_extend(buffer)\nMoves the caret up one page, extending the selected text to the new position.\n@param buffer A buffer.
page_up_rect_extend buffer.page_up_rect_extend(buffer)\nMoves the caret up one page, extending the rectangular selection to the new\nposition.\n@param buffer A buffer.
pairs _G.pairs(t)\nIf `t` has a metamethod `__pairs`, calls it with `t` as argument and returns\nthe first three results from the call.\n\nOtherwise, returns three values: the `next` function, the table `t`, and nil,\nso that the construction\n\n  for k,v in pairs(t) do *body* end\n\nwill iterate over all key–value pairs of table `t`.\n\nSee function `next` for the caveats of modifying the table during its\ntraversal.
para_down buffer.para_down(buffer)\nMoves the caret down one paragraph.\nParagraphs are surrounded by one or more blank lines.\n@param buffer A buffer.
para_down_extend buffer.para_down_extend(buffer)\nMoves the caret down one paragraph, extending the selected text to the new\nposition.\nParagraphs are surrounded by one or more blank lines.\n@param buffer A buffer.
para_up buffer.para_up(buffer)\nMoves the caret up one paragraph.\nParagraphs are surrounded by one or more blank lines.\n@param buffer A buffer.
para_up_extend buffer.para_up_extend(buffer)\nMoves the caret up one paragraph, extending the selected text to the new\nposition.\nParagraphs are surrounded by one or more blank lines.\n@param buffer A buffer.
paste buffer.paste(buffer)\nPastes the clipboard's contents into the buffer, replacing any selected text\naccording to `buffer.multi_paste`.\n@param buffer A buffer.
path package.path (string)\nThe path used by `require` to search for a Lua loader.\nAt start-up, Lua initializes this variable with the value of the\nenvironment variable `LUA_PATH_5_2` or the environment variable `LUA_PATH`\nor with a default path defined in `luaconf.h`, if those environment\nvariables are not defined. Any "`;;`" in the value of the environment\nvariable is replaced by the default path.
patterns textadept.file_types.patterns (table)\nMap of first-line patterns to their associated lexer names.\nIf a file type is not recognized by shebang words, each pattern is matched\nagainst the first line in the file.
pcall _G.pcall(f [, arg1, ···])\nCalls function `f` with the given arguments in *protected mode*. This\nmeans that any error inside `f` is not propagated; instead, `pcall` catches\nthe error and returns a status code. Its first result is the status code (a\nboolean), which is true if the call succeeds without errors. In such case,\n`pcall` also returns all results from the call, after this first result. In\ncase of any error, `pcall` returns false plus the error message.
phases_draw buffer.phases_draw (number)\nThe number of phases drawing is performed in.\n\n* `buffer.PHASES_ONE`\n  For each line, draw the background and text at the same time. (No\n  character overlapping.)\n* `buffer.PHASES_TWO`\n  For each line, draw the background first and then text on top of it. (No\n  line overlapping.)\n* `buffer.PHASES_MULTIPLE`\n  Similar to `buffer.PHASES_TWO`, but allows lines to overlap.\n  Incompatible with `buffer.buffered_draw = true`.\n\nThe default value is `buffer.PHASES_TWO`.
pi math.pi (number)\nThe value of 'π'.
popen io.popen(prog [, mode])\nStarts program `prog` in a separated process and returns a file handle\nthat you can use to read data from this program (if `mode` is `"r"`,\nthe default) or to write data to this program (if `mode` is `"w"`).\n\nThis function is system dependent and is not available on all platforms.
position_after buffer.position_after(buffer, pos)\nReturns the position of the character after position *pos* (taking multi-byte\ncharacters into account), or `buffer.length` if there is no character after\n*pos*.\n@param buffer A buffer.\n@param pos The position in *buffer* to get the position after from.
position_before buffer.position_before(buffer, pos)\nReturns the position of the character before position *pos* (taking\nmulti-byte characters into account), or `0` if there is no character before\n*pos*.\n@param buffer A buffer.\n@param pos The position in *buffer* to get the position before from.\n@return number
position_from_line buffer.position_from_line(buffer, line)\nReturns the position at the beginning of line number *line*.\nReturns `-1` if *line* is greater than `buffer.line_count`.\n@param buffer A buffer.\n@param line The line number in *buffer* to get the beginning position for.\n@return number
position_relative buffer.position_relative(buffer, pos, n)\nReturns the position *n* characters before or after position *pos* (taking\nmulti-byte characters into account).\nReturns `0` if the position is less than 0 or `buffer.length` if the position\nis greater than `buffer.length`.\n@param buffer A buffer.\n@param pos The position in *buffer* to get the relative position from.\n@param n The relative number of characters to get the position for. A\n  negative number indicates a position before while a positive number\n  indicates a position after.\n@return number
pow math.pow(x, y)\nReturns *x^y*. (You can also use the expression `x^y` to compute this\nvalue.)
preload package.preload (table)\nA table to store loaders for specific modules (see `require`).\nThis variable is only a reference to the real table; assignments to this\nvariable do not change the table used by `require`.
print _G.print(···)\nReceives any number of arguments and prints their values to `stdout`, using\nthe `tostring` function to convert each argument to a string. `print` is not\nintended for formatted output, but only as a quick way to show a value,\nfor instance for debugging. For complete control over the output, use\n`string.format` and `io.write`.
print lexer.print (pattern)\nA pattern that matches any printable character (' ' to '~').
print ui.print(...)\nPrints the given string messages to the message buffer.\nOpens a new buffer if one has not already been opened for printing messages.\n@param ... Message strings.
proc textadept.run.proc (process)\nThe currently running process or the most recent process run.
process args.process(arg)\nProcesses command line argument table *arg*, handling switches previously\ndefined using `args.register()` and treating unrecognized arguments as\nfilenames to open.\nEmits an `ARG_NONE` event when no arguments are present.\n@param arg Argument table.\n@see register\n@see _G.events
properties _SCINTILLA.properties (table)\nMap of Scintilla property names to table values containing their "get"\nfunction IDs, "set" function IDs, return types, and wParam types.\nThe wParam type will be non-zero if the property is indexable.\nTypes are the same as in the `functions` table.\n@see functions
property buffer.property (table)\nMap of key-value string pairs used by lexers.
property lexer.property (table)\nMap of key-value string pairs.
property_expanded buffer.property_expanded (table, Read-only)\nMap of key-value string pairs used by lexers with `%()` variable\nreplacement performed in values.
property_expanded lexer.property_expanded (table, Read-only)\nMap of key-value string pairs with `$()` and `%()` variable replacement\nperformed in values.
property_int buffer.property_int (table, Read-only)\nMap of key-value pairs used by lexers with values interpreted as numbers,\nor `0` if not found.
property_int lexer.property_int (table, Read-only)\nMap of key-value pairs with values interpreted as numbers, or `0` if not\nfound.
punct lexer.punct (pattern)\nA pattern that matches any punctuation character ('!' to '/', ':' to '@',\n'[' to ''', '{' to '~').
punctuation_chars buffer.punctuation_chars (string)\nThe string set of characters recognized as punctuation characters.\nSet this only after setting `buffer.word_chars`.\nThe default value is a string that contains all non-word and non-whitespace\ncharacters.
python _G.keys.python (table)\nContainer for Python-specific key bindings.
python _G.snippets.python (table)\nContainer for Python-specific snippets.
python _M.python (module)\nThe python module.\nIt provides utilities for editing Python code.
quit _G.quit()\nEmits a `QUIT` event, and unless any handler returns `false`, quits\nTextadept.\n@see events.QUIT
rad math.rad(x)\nReturns the angle `x` (given in degrees) in radians.
random math.random([m [, n]])\nThis function is an interface to the simple pseudo-random generator\nfunction `rand` provided by Standard C. (No guarantees can be given for its\nstatistical properties.)\n\nWhen called without arguments, returns a uniform pseudo-random real\nnumber in the range [0,1). When called with an integer number `m`,\n`math.random` returns a uniform pseudo-random integer in the range [1, m].\nWhen called with two integer numbers `m` and `n`, `math.random` returns a\nuniform pseudo-random integer in the range [m, n].
randomseed math.randomseed(x)\nSets `x` as the "seed" for the pseudo-random generator: equal seeds\nproduce equal sequences of numbers.
rawequal _G.rawequal(v1, v2)\nChecks whether `v1` is equal to `v2`, without invoking any\nmetamethod. Returns a boolean.
rawget _G.rawget(table, index)\nGets the real value of `table[index]`, without invoking any\nmetamethod. `table` must be a table; `index` may be any value.
rawlen _G.rawlen(v)\nReturns the length of the object `v`,\nwhich must be a table or a string,\nwithout invoking any metamethod.\nReturns an integer number.
rawset _G.rawset(table, index, value)\nSets the real value of `table[index]` to `value`, without invoking any\nmetamethod. `table` must be a table, `index` any value different from nil and\nNaN, and `value` any Lua value.\n\nThis function returns `table`.
read file:read(···)\nReads the file `file`, according to the given formats, which specify\nwhat to read. For each format, the function returns a string (or a number)\nwith the characters read, or nil if it cannot read data with the specified\nformat. When called without formats, it uses a default format that reads\nthe next line (see below).\n\nThe available formats are\n  "*n": reads a number; this is the only format that returns a number\n        instead of a string.\n  "*a": reads the whole file, starting at the current position. On end of\n        file, it returns the empty string.\n  "*l": reads the next line skipping the end of line, returning nil on\n        end of file. This is the default format.\n  "*L": reads the next line keeping the end of line (if present), returning\n        nil on end of file.\n  *number*: reads a string with up to this number of bytes, returning nil on\n        end of file. If number is zero, it reads nothing and returns an empty\n        string, or nil on end of file.
read io.read(···)\nEquivalent to `io.input():read(···)`.
read spawn_proc:read(arg)\nReads and returns stdout from process *proc*, according to string format or\nnumber *arg*.\nSimilar to Lua's `io.read()` and blocks for input. *proc* must still be\nrunning. If an error occurs while reading, returns `nil`, an error code, and\nan error message.\nEnsure any read operations read all stdout available. The stdout callback\nfunction passed to `spawn()` will not be called until the stdout buffer is\nclear.\n@param arg Optional argument similar to those in Lua's `io.read()`, but "*n"\n  is not supported. The default value is "*l", which reads a line.\n@return string of bytes read
read_only buffer.read_only (bool)\nWhether or not the buffer is read-only.\nThe default value is `false`.
recent_files io.recent_files (table)\nList of recently opened files, the most recent being towards the top.
rectangular_selection_anchor buffer.rectangular_selection_anchor (number)\nThe rectangular selection's anchor position.
rectangular_selection_anchor_virtual_space buffer.rectangular_selection_anchor_virtual_space (number)\nThe amount of virtual space for the rectangular selection's anchor.
rectangular_selection_caret buffer.rectangular_selection_caret (number)\nThe rectangular selection's caret position.
rectangular_selection_caret_virtual_space buffer.rectangular_selection_caret_virtual_space (number)\nThe amount of virtual space for the rectangular selection's caret.
rectangular_selection_modifier buffer.rectangular_selection_modifier (number)\nThe modifier key used in combination with a mouse drag in order to create a\nrectangular selection.\n\n* `buffer.MOD_CTRL`\n  The "Control" modifier key.\n* `buffer.MOD_ALT`\n  The "Alt" modifier key.\n* `buffer.MOD_SUPER`\n  The "Super" modifier key, usually defined as the left "Windows" or\n  "Command" key.\n\nThe default value is `buffer.MOD_CTRL`.
redo buffer.redo(buffer)\nRedoes the next undone action.\n@param buffer A buffer.
register args.register(short, long, narg, f, description)\nRegisters a command line switch with short and long versions *short* and\n*long*, respectively. *narg* is the number of arguments the switch accepts,\n*f* is the function called when the switch is tripped, and *description* is\nthe switch's description when displaying help.\n@param short The string short version of the switch.\n@param long The string long version of the switch.\n@param narg The number of expected parameters for the switch.\n@param f The Lua function to run when the switch is tripped.\n@param description The string description of the switch for command line\n  help.
register_image buffer.register_image(buffer, type, xpm_data)\nRegisters XPM image *xpm_data* to type number *type* for use in\nautocompletion and user lists.\n@param buffer A buffer.\n@param type Integer type to register the image with.\n@param xpm_data The XPM data as described in `buffer.marker_define_pixmap()`.
register_rgba_image buffer.register_rgba_image(buffer, type, pixels)\nRegisters RGBA image *pixels* to type number *type* for use in autocompletion\nand user lists.\nThe dimensions for *pixels* (`buffer.rgba_image_width` and\n`buffer.rgba_image_height`) must have already been defined. *pixels* is a\nsequence of 4 byte pixel values (red, blue, green, and alpha) defining the\nimage line by line starting at the top-left pixel.\n@param buffer A buffer.\n@param type Integer type to register the image with.\n@param pixels The RGBA data as described in\n  `buffer.marker_define_rgba_image()`.
release_all_extended_styles buffer.release_all_extended_styles(buffer)\nReleases all styles allocated with `buffer.allocate_extended_styles()`.\n@param buffer A buffer.\n@see allocate_extended_styles
reload_file io.reload_file()\nReloads the current buffer's file contents, discarding any changes.
remove os.remove(filename)\nDeletes the file (or empty directory, on POSIX systems) with the given name.\nIf this function fails, it returns nil, plus a string describing the error\nand the error code.
remove table.remove(list [, pos])\nRemoves from `list` the element at position `pos`, returning the value of the\nremoved element. When `pos` is an integer between 1 and `#list`, it shifts\ndown the elements `list[pos+1], list[pos+2], ···, list[#list]` and erases\nelement `list[#list]`; The index `pos` can also be 0 when `#list` is 0, or\n`#list + 1`; in those cases, the function erases the element `list[pos]`.\n\nThe default value for `pos` is `#list`, so that a call `table.remove(t)`\nremoves the last element of list `t`.
rename os.rename(oldname, newname)\nRenames file or directory named `oldname` to `newname`. If this function\nfails, it returns nil, plus a string describing the error and the error code.
rep string.rep(s, n [, sep])\nReturns a string that is the concatenation of `n` copies of the string `s`\nseparated by the string `sep`. The default value for `sep` is the empty\nstring (that is, no separator).
replace bit32.replace(n, v, field [, width])\nReturns a copy of `n` with the bits `field` to `field + width - 1` replaced\nby the value `v`. See `bit32.extract` for details about `field` and `width`.
replace ui.find.replace()\nMimics pressing the "Replace" button.
replace_all ui.find.replace_all()\nMimics pressing the "Replace All" button.
replace_all_button_text ui.find.replace_all_button_text (string, Write-only)\nThe text of the "Replace All" button.\nThis is primarily used for localization.
replace_button_text ui.find.replace_button_text (string, Write-only)\nThe text of the "Replace" button.\nThis is primarily used for localization.
replace_entry_text ui.find.replace_entry_text (string)\nThe text in the "Replace" entry.
replace_label_text ui.find.replace_label_text (string, Write-only)\nThe text of the "Replace" label.\nThis is primarily used for localization.
replace_sel buffer.replace_sel(buffer, text)\nReplaces the selected text with string *text*, scrolling the caret into view.\n@param buffer A buffer.\n@param text The text to replace the selected text with.
replace_target buffer.replace_target(buffer, text)\nReplaces the text in the target range with string *text* sans modifying any\nselections or scrolling the view.\nSetting the target and calling this function with an empty string is another\nway to delete text.\n@param buffer A buffer.\n@param text The text to replace the target range with.\n@return number
replace_target_re buffer.replace_target_re(buffer, text)\nReplaces the text in the target range with string *text* but first replaces\nany "\d" sequences with the text of capture number *d* from the regular\nexpression (or the entire match for *d* = 0), and then returns the\nreplacement text's length.\n@param buffer A buffer.\n@param text The text to replace the target range with.\n@return number
representation buffer.representation (table)\nThe alternative string representations of characters.\nRepresentations are displayed in the same way control characters are. Use\nthe empty string for the '\0' character when assigning its representation.\nCall `buffer.clear_representation()` to remove a representation.
require _G.require(modname)\nLoads the given module. The function starts by looking into the\n`package.loaded` table to determine whether `modname` is already\nloaded. If it is, then `require` returns the value stored at\n`package.loaded[modname]`. Otherwise, it tries to find a *loader* for\nthe module.\n\nTo find a loader, `require` is guided by the `package.searchers` sequence. By\nchanging this sequence, we can change how `require` looks for a module. The\nfollowing explanation is based on the default configuration for\n`package.searchers`.\n\nFirst `require` queries `package.preload[modname]`. If it has a value,\nthis value (which should be a function) is the loader. Otherwise `require`\nsearches for a Lua loader using the path stored in `package.path`. If\nthat also fails, it searches for a C loader using the path stored in\n`package.cpath`. If that also fails, it tries an *all-in-one* loader (see\n`package.searchers`).\n\nOnce a loader is found, `require` calls the loader with two arguments:\n`modname` and an extra value dependent on how it got the loader. (If the\nloader came from a file, this extra value is the file name.) If the loader\nreturns any non-nil value, `require` assigns the returned value to\n`package.loaded[modname]`. If the loader does not return a non-nil value and\nhas not assigned any value to `package.loaded[modname]`, then `require`\nassigns <b>true</b> to this entry. In any case, `require` returns the final\nvalue of `package.loaded[modname]`.\n\nIf there is any error loading or running the module, or if it cannot find\nany loader for the module, then `require` raises an error.
reset _G.reset()\nResets the Lua state by reloading all initialization scripts.\nLanguage modules for opened files are NOT reloaded. Re-opening the files that\nuse them will reload those modules instead.\nThis function is useful for modifying user scripts (such as\n*~/.textadept/init.lua* and *~/.textadept/modules/textadept/keys.lua*) on\nthe fly without having to restart Textadept. `arg` is set to `nil` when\nreinitializing the Lua State. Any scripts that need to differentiate between\nstartup and reset can test `arg`.
rest _G.keys.rest (table)\nContainer for reST-specific key bindings.
rest _G.snippets.rest (table)\nContainer for reST-specific snippets.
rest _M.rest (module)\nThe reST module.\nIt provides utilities for editing reST and Sphinx documents.
resume coroutine.resume(co [, val1, ···])\nStarts or continues the execution of coroutine `co`. The first time\nyou resume a coroutine, it starts running its body. The values `val1`,\n... are passed as the arguments to the body function. If the coroutine\nhas yielded, `resume` restarts it; the values `val1`, ... are passed\nas the results from the yield.\n\nIf the coroutine runs without any errors, `resume` returns true plus any\nvalues passed to `yield` (if the coroutine yields) or any values returned\nby the body function (if the coroutine terminates). If there is any error,\n`resume` returns false plus the error message.
reverse string.reverse(s)\nReturns a string that is the string `s` reversed.
rgba_image_height buffer.rgba_image_height (number)\nThe height of the RGBA image to be defined using\n`buffer.marker_define_rgba_image()`.
rgba_image_scale buffer.rgba_image_scale (number)\nThe scale factor in percent of the RGBA image to be defined using\n`buffer.marker_define_rgba_image()`.\nThis is useful on OSX with a retina display where each display unit is 2\npixels: use a factor of `200` so that each image pixel is displayed using a\nscreen pixel. The default scale, `100`, will stretch each image pixel to\ncover 4 screen pixels on a retina display.
rgba_image_width buffer.rgba_image_width (number)\nThe width of the RGBA image to be defined using\n`buffer.marker_define_rgba_image()` and\n`buffer.register_rgba_image()`.
rmdir lfs.rmdir(dirname)\nRemoves an existing directory. The argument is the name of the directory.\n\nReturns true if the operation was successful; in case of error, it returns\nnil plus an error string.
rotate_selection buffer.rotate_selection(buffer)\nDesignates the next additional selection to be the main selection.\n@param buffer A buffer.
rrotate bit32.rrotate(x, disp)\nReturns the number `x` rotated `disp` bits to the right. The number `disp`\nmay be any representable integer.\n\nFor any valid displacement, the following identity holds:\n\n  assert(bit32.rrotate(x, disp) == bit32.rrotate(x, disp % 32))\n\nIn particular, negative displacements rotate to the left.
rshift bit32.rshift(x, disp)\nReturns the number `x` shifted `disp` bits to the right. The number `disp`\nmay be any representable integer. Negative displacements shift to the left.\nIn any direction, vacant bits are filled with zeros. In particular,\ndisplacements with absolute values higher than 31 result in zero (all bits\nare shifted out).\n\nFor positive displacements, the following equality holds:\n\n  assert(bit32.rshift(b, disp) == math.floor(b % 2^32 / 2^disp))\n\nThis shift operation is what is called logical shift.
ruby _G.keys.ruby (table)\nContainer for Ruby-specific key bindings.
ruby _G.snippets.ruby (table)\nContainer for Ruby-specific snippets.
ruby _M.ruby (module)\nThe ruby module.\nIt provides utilities for editing Ruby code.
run textadept.run (module)\nCompile and run source code files with Textadept.\nLanguage modules may tweak the `compile_commands`,\n`run_commands`, and/or `error_patterns` tables for particular languages.
run textadept.run.run()\nRuns the current file based on its extension or language using the shell\ncommand from the `run_commands` table.\nEmits `RUN_OUTPUT` events.\n@see run_commands\n@see _G.events
run_commands textadept.run.run_commands (table)\nMap of file extensions or lexer names to their associated "run" shell command\nline strings or functions that return strings.\nCommand line strings may have the following macros:\n\n  + `%f` or `%(filename)`: The file's name, including its extension.\n  + `%e` or `%(filename_noext)`: The file's name, excluding its extension.\n  + `%d` or `%(filedir)`: The current file's directory path.\n  + `%(filepath)`: The full path of the current file.
running coroutine.running()\nReturns the running coroutine plus a boolean, true when the running coroutine\nis the main one.
save textadept.session.save(filename)\nSaves the session to file *filename* or the user-selected file.\nSaves split views, opened buffers, cursor information, and recent files.\n@param filename Optional absolute path to the session file to save. If `nil`,\n  the user is prompted for one.\n@usage textadept.session.save(filename)\n@see DEFAULT_SESSION
save_all_files io.save_all_files()\nSaves all unsaved buffers to their respective files.\n@see io.save_file
save_file io.save_file()\nSaves the current buffer to its file.\nEmits `FILE_BEFORE_SAVE` and `FILE_AFTER_SAVE` events.
save_file_as io.save_file_as(filename)\nSaves the current buffer to file *filename* or the user-specified filename.\nEmits a `FILE_SAVED_AS` event.\n@param filename Optional new filepath to save the buffer to. If `nil`, the\n  user is prompted for one.
scroll_caret buffer.scroll_caret(buffer)\nScrolls the caret into view based on the policies previously defined in\n`buffer.set_x_caret_policy()` and `buffer.set_y_caret_policy()`.\n@param buffer A buffer.\n@see set_x_caret_policy\n@see set_y_caret_policy
scroll_range buffer.scroll_range(buffer, secondary_pos, primary_pos)\nScrolls into view the range of text between positions *primary_pos* and\n*secondary_pos*, with priority given to *primary_pos*.\nSimilar to `buffer.scroll_caret()`, but with *primary_pos* instead of\n`buffer.current_pos`.\nThis is useful for scrolling search results into view.\n@param buffer A buffer.\n@param secondary_pos The secondary range position to scroll into view.\n@param primary_pos The primary range position to scroll into view.
scroll_to_end buffer.scroll_to_end(buffer)\nScrolls to the end of the buffer without moving the caret.\n@param buffer A buffer.
scroll_to_start buffer.scroll_to_start(buffer)\nScrolls to the beginning of the buffer without moving the caret.\n@param buffer A buffer.
scroll_width buffer.scroll_width (number)\nThe horizontal scrolling pixel width.\nFor performance, the view does not measure the display width of the buffer\nto determine the properties of the horizontal scroll bar, but uses an\nassumed width instead. To ensure the width of the currently visible lines\ncan be scrolled use `buffer.scroll_width_tracking`.\nThe default value is `2000`.
scroll_width_tracking buffer.scroll_width_tracking (bool)\nContinuously update the horizontal scrolling width to match the maximum\nwidth of a displayed line beyond `buffer.scroll_width`.\nThe default value is `false`.
search_anchor buffer.search_anchor(buffer)\nAnchors the position that `buffer.search_next()` and `buffer.search_prev()`\nstart at to the caret position.\n@param buffer A buffer.
search_flags buffer.search_flags (number)\nThe bit-mask of search flags used by `buffer.search_in_target()`.\n\n* `buffer.FIND_WHOLEWORD`\n  Match search text only when it is surrounded by non-word characters.\n* `buffer.FIND_MATCHCASE`\n  Match search text case sensitively.\n* `buffer.FIND_WORDSTART`\n  Match search text only when the previous character is a non-word\n  character.\n* `buffer.FIND_REGEXP`\n  Interpret search text as a regular expression.\n\nThe default value is `0`.\n\nRegular expression characters recognized are:\n\n* `.`\n  Matches any character.\n* `[set]`\n  Matches any character in *set*, including ranges (e.g. `[A-Za-z]`).\n* `[^set]`\n  Matches the complement of *set*.\n* `*`\n  Matches zero or more of the previous match.\n* `+`\n  Matches one or more of the previous match.\n* `\<`\n  Matches the beginning of a word.\n* `\>`\n  Matches the end of a word.\n* `^`\n  Matches the start of a line unless inside a set.\n* `$`\n  Matches the end of a line unless inside a set.\n* `(`\n  The beginning of a tagged matching region.\n* `)`\n  The end of a tagged matching region.\n* `\n`\n  The matched text of the *n*th tagged region. In replacement text, "\0" is\n  all matched text.\n* `\x`\n  Represents character *x*, ignoring any special meaning it may have by\n  itself.
search_in_target buffer.search_in_target(buffer, text)\nSearches for the first occurrence of string *text* in the target range\nbounded by `buffer.target_start` and `buffer.target_end` using search flags\n`buffer.search_flags` and, if found, sets the new target range to that\noccurrence, returning its position or `-1` if *text* was not found.\n@param buffer A buffer.\n@param text The text to search the target range for.\n@return number\n@see search_flags
search_next buffer.search_next(buffer, flags, text)\nSearches for and selects the first occurrence of string *text* starting at\nthe search anchor using search flags *flags*, returning that occurrence's\nposition or `-1` if *text* was not found.\nSelected text is not scrolled into view.\n@param buffer A buffer.\n@param flags The search flags to use. See `buffer.search_flags`.\n@param text The text to search for.\n@return number\n@see search_flags
search_prev buffer.search_prev(buffer, flags, text)\nSearches for and selects the last occurrence of string *text* before the\nsearch anchor using search flags *flags*, returning that occurrence's\nposition or `-1` if *text* was not found.\n@param buffer A buffer.\n@param flags The search flags to use. See `buffer.search_flags`.\n@param text The text to search for.\n@return number\n@see search_flags
searchers package.searchers (table)\nA table used by `require` to control how to load modules.\nEach entry in this table is a *searcher function*. When looking for a\nmodule, `require` calls each of these searchers in ascending order, with\nthe module name (the argument given to `require`) as its sole parameter.\nThe function can return another function (the module *loader*) plus an\nextra value that will be passed to that loader, or a string explaining why\nit did not find that module (or nil if it has nothing to say).\nLua initializes this table with four functions.\nThe first searcher simply looks for a loader in the `package.preload`\ntable.\nThe second searcher looks for a loader as a Lua library, using the path\nstored at `package.path`. The search is done as described in function\n`package.searchpath`.\nThe third searcher looks for a loader as a C library, using the path given\nby the variable `package.cpath`. Again, the search is done as described in\nfunction `package.searchpath`. For instance, if the C path is the string\n  "./?.so;./?.dll;/usr/local/?/init.so"\nthe searcher for module `foo` will try to open the files `./foo.so`,\n`./foo.dll`, and `/usr/local/foo/init.so`, in that order. Once it finds\na C library, this searcher first uses a dynamic link facility to link the\napplication with the library. Then it tries to find a C function inside the\nlibrary to be used as the loader. The name of this C function is the string\n"`luaopen_`" concatenated with a copy of the module name where each dot\nis replaced by an underscore. Moreover, if the module name has a hyphen,\nits prefix up to (and including) the first hyphen is removed. For instance,\nif the module name is `a.v1-b.c`, the function name will be `luaopen_b_c`.\nThe fourth searcher tries an *all-in-one loader*. It searches the C\npath for a library for the root name of the given module. For instance,\nwhen requiring `a.b.c`, it will search for a C library for `a`. If found,\nit looks into it for an open function for the submodule; in our example,\nthat would be `luaopen_a_b_c`. With this facility, a package can pack\nseveral C submodules into one single library, with each submodule keeping\nits original open function.\nAll searchers except the first one (preload) return as the extra value the\nfile name where the module was found, as returned by `package.searchpath`.\nThe first searcher returns no extra value.
searchpath package.searchpath(name, path [, sep [, rep]])\nSearches for the given `name` in the given `path`.\n\nA path is a string containing a sequence of _templates_ separated by\nsemicolons. For each template, the function replaces each interrogation mark\n(if any) in the template with a copy of `name` wherein all occurrences of\n`sep` (a dot, by default) were replaced by `rep` (the system's directory\nseparator, by default), and then tries to open the resulting file name.\nFor instance, if the path is the string\n  "./?.lua;./?.lc;/usr/local/?/init.lua"\nthe search for the name `foo.a` will try to open the files `./foo/a.lua`,\n`./foo/a.lc`, and `/usr/local/foo/a/init.lua`, in that order.\nReturns the resulting name of the first file that it can open in read mode\n(after closing the file), or nil plus an error message if none succeeds.\n(This error message lists all file names it tried to open.)
secure_inputbox ui.dialogs.secure_inputbox(options)\nPrompts the user with a masked inputbox dialog defined by dialog options\ntable *options*, returning the selected button's index along with the user's\ninput text (the latter as a string or table, depending on the type of\n*options*.`informative_text`).\nIf *options*.`string_output` is `true`, returns the selected button's label\nalong with the user's input text.\nIf the dialog timed out, returns `0` or `"timeout"`. If the user canceled the\ndialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the inputbox.\n\n  * `title`: The dialog's title text.\n  * `informative_text`: The dialog's main message text. If the value is a\n    table, the first table value is the main message text and any subsequent\n    values are used as the labels for multiple entry boxes. Providing a\n    single label has no effect.\n  * `text`: The dialog's initial input text. If the value is a table, the\n    table values are used to populate the multiple entry boxes defined by\n    `informative_text`.\n  * `button1`: The right-most button's label. The default value is\n    `_L['_OK']`.\n  * `button2`: The middle button's label.\n  * `button3`: The left-most button's label. This option requires `button2`\n    to be set.\n  * `string_output`: Return the selected button's label (instead of its\n    index) or the dialog's exit status instead of the button's index (instead\n    of its exit code). The default value is `false`.\n  * `width`: The dialog's pixel width.\n  * `height`: The dialog's pixel height.\n  * `float`: Show the dialog on top of all desktop windows. The default value\n    is `false`.\n  * `timeout`: the integer number of seconds the dialog waits for the user to\n    select a button before timing out. Dialogs do not time out by default.\n@return selected button or exit code, input text
secure_standard_inputbox ui.dialogs.secure_standard_inputbox(options)\nPrompts the user with a masked inputbox dialog defined by dialog options\ntable *options* and with localized "Ok" and "Cancel" buttons, returning the\nselected button's index along with the user's input text (the latter as a\nstring or table, depending on the type of *options*.`informative_text`).\nIf *options*.`string_output` is `true`, returns the selected button's label\nalong with the user's input text.\nIf the dialog timed out, returns `0` or `"timeout"`. If the user canceled the\ndialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the inputbox.\n\n  * `title`: The dialog's title text.\n  * `informative_text`: The dialog's main message text. If the value is a\n    table, the first table value is the main message text and any subsequent\n    values are used as the labels for multiple entry boxes. Providing a\n    single label has no effect.\n  * `text`: The dialog's initial input text. If the value is a table, the\n    table values are used to populate the multiple entry boxes defined by\n    `informative_text`.\n  * `no_cancel`: Do not display the "Cancel" button. The default value is\n    `false`.\n  * `string_output`: Return the selected button's label (instead of its\n    index) or the dialog's exit status instead of the button's index (instead\n    of its exit code). The default value is `false`.\n  * `width`: The dialog's pixel width.\n  * `height`: The dialog's pixel height.\n  * `float`: Show the dialog on top of all desktop windows. The default value\n    is `false`.\n  * `timeout`: the integer number of seconds the dialog waits for the user to\n    select a button before timing out. Dialogs do not time out by default.\n@return selected button or exit code, input text
seek file:seek([whence [, offset]])\nSets and gets the file position, measured from the beginning of the\nfile, to the position given by `offset` plus a base specified by the string\n`whence`, as follows:\n  "set": base is position 0 (beginning of the file);\n  "cur": base is current position;\n  "end": base is end of file;\n\nIn case of success, function `seek` returns the final file position,\nmeasured in bytes from the beginning of the file. If `seek` fails, it returns\nnil, plus a string describing the error.\n\nThe default value for `whence` is `"cur"`, and for `offset` is 0. Therefore,\nthe call `file:seek()` returns the current file position, without changing\nit; the call `file:seek("set")` sets the position to the beginning of the\nfile (and returns 0); and the call `file:seek("end")` sets the position\nto the end of the file, and returns its size.
sel_alpha buffer.sel_alpha (number)\nThe selection's alpha value, ranging from `0` (transparent) to `255`\n(opaque).\nThe default value is `buffer.ALPHA_NOALPHA`, for no alpha.
sel_eol_filled buffer.sel_eol_filled (bool)\nExtend the selection to the view's right margin.\nThe default value is `false`.
select _G.select(index, ···)\nIf `index` is a number, returns all arguments after argument number\n`index`; a negative number indexes from the end (-1 is the last argument).\nOtherwise, `index` must be the string `"#"`, and `select` returns the total\nnumber of extra arguments it received.
select_all buffer.select_all(buffer)\nSelects all of the buffer's text without scrolling the view.\n@param buffer A buffer.
select_command textadept.menu.select_command()\nPrompts the user to select a menu command to run.
select_enclosed textadept.editing.select_enclosed(left, right)\nSelects the text between strings *left* and *right* that enclose the caret.\nIf that range is already selected, toggles between selecting *left* and\n*right* as well.\n@param left The left part of the enclosure.\n@param right The right part of the enclosure.
select_lexer textadept.file_types.select_lexer()\nPrompts the user to select a lexer for the current buffer.\n@see buffer.set_lexer
select_line textadept.editing.select_line()\nSelects the current line.
select_paragraph textadept.editing.select_paragraph()\nSelects the current paragraph.\nParagraphs are surrounded by one or more blank lines.
select_word textadept.editing.select_word()\nSelects the current word.\nIf already selected, selects the next occurrence as a multiple selection.\n@see buffer.word_chars
selection_duplicate buffer.selection_duplicate(buffer)\nDuplicates the selected text to its right.\nIf no text is selected, duplicates the current line on a new line below.\n@param buffer A buffer.
selection_empty buffer.selection_empty (bool, Read-only)\nWhether or not no text is selected.
selection_end buffer.selection_end (number)\nThe position of the end of the selected text.\nWhen set, becomes the current position, but is not scrolled into view.
selection_is_rectangle buffer.selection_is_rectangle (bool, Read-only)\nWhether or not the selection is a rectangular selection.
selection_mode buffer.selection_mode (number)\nThe selection mode.\n\n* `buffer.SEL_STREAM`\n  Character selection.\n* `buffer.SEL_RECTANGLE`\n  Rectangular selection.\n* `buffer.SEL_LINES`\n  Line selection.\n* `buffer.SEL_THIN`\n  Thin rectangular selection. This is the mode after a rectangular\n  selection has been typed into and ensures that no characters are\n  selected.\n\nWhen set, caret movement alters the selected text until this field is set\nagain to the same value or until `buffer.cancel()` is called.
selection_n_anchor buffer.selection_n_anchor (table)\nTable of positions at the beginning of existing selections numbered from\nzero, the main selection.
selection_n_anchor_virtual_space buffer.selection_n_anchor_virtual_space (table)\nTable of positions at the beginning of virtual space selected in existing\nselections numbered from zero, the main selection.
selection_n_caret buffer.selection_n_caret (table)\nTable of positions at the end of existing selections numbered from zero,\nthe main selection.
selection_n_caret_virtual_space buffer.selection_n_caret_virtual_space (table)\nTable of positions at the end of virtual space selected in existing\nselections numbered from zero, the main selection.
selection_n_end buffer.selection_n_end (table)\nTable of positions at the end of existing selections numbered from zero,\nthe main selection.
selection_n_start buffer.selection_n_start (table)\nTable of positions at the beginning of existing selections numbered from\nzero, the main selection.
selection_start buffer.selection_start (number)\nThe position of the beginning of the selected text.\nWhen set, becomes the anchor, but is not scrolled into view.
selections buffer.selections (number, Read-only)\nThe number of active selections.
session textadept.session (module)\nSession support for Textadept.
set_chars_default buffer.set_chars_default(buffer)\nResets `buffer.word_chars`, `buffer.whitespace_chars`, and\n`buffer.punctuation_chars` to their respective defaults.\n@param buffer A buffer.\n@see word_chars\n@see whitespace_chars\n@see punctuation_chars
set_empty_selection buffer.set_empty_selection(buffer, pos)\nMoves the caret to position *pos* without scrolling the view and removes any\nselections.\n@param buffer A buffer\n@param pos The position in *buffer* to move to.
set_encoding buffer.set_encoding(buffer, encoding)\nConverts the current buffer's contents to encoding *encoding*.\n@param buffer A buffer.\n@param encoding The string encoding to set. Valid encodings are ones that GNU\n  iconv accepts.\n@usage buffer:set_encoding('ASCII')
set_fold_margin_colour buffer.set_fold_margin_colour(buffer, use_setting, color)\nOverrides the fold margin's default color with color *color*, in "0xBBGGRR"\nformat,\nif *use_setting* is `true`.\n@param buffer A buffer.\n@param use_setting Whether or not to use *color*.\n@param color The color in "0xBBGGRR" format.
set_fold_margin_hi_colour buffer.set_fold_margin_hi_colour(buffer, use_setting, color)\nOverrides the fold margin's default highlight color with color *color*, in\n"0xBBGGRR" format, if *use_setting* is `true`.\n@param buffer A buffer.\n@param use_setting Whether or not to use *color*.\n@param color The color in "0xBBGGRR" format.
set_hotspot_active_back buffer.set_hotspot_active_back(buffer, use_setting, color)\nOverrides the default background color of active hotspots with color *color*,\nin "0xBBGGRR" format, if *use_setting* is `true`.\n@param buffer A buffer.\n@param use_setting Whether or not to use *color*.\n@param color The color in "0xBBGGRR" format.
set_hotspot_active_fore buffer.set_hotspot_active_fore(buffer, use_setting, color)\nOverrides the default foreground color of active hotspots with color *color*,\nin "0xBBGGRR" format, if *use_setting* is `true`.\n@param buffer A buffer.\n@param use_setting Whether or not to use *color*.\n@param color The color in "0xBBGGRR" format.
set_lexer buffer.set_lexer(buffer, lexer)\nAssociates lexer name *lexer* or the auto-detected lexer name with the buffer\nand then loads the appropriate language module if that module exists.\n@param buffer A buffer.\n@param lexer Optional string lexer name to set. If `nil`, attempts to\n  auto-detect the buffer's lexer.\n@usage buffer:set_lexer('lexer_name')
set_save_point buffer.set_save_point(buffer)\nIndicates the buffer has no unsaved changes.\n@param buffer A buffer.
set_sel buffer.set_sel(buffer, start_pos, end_pos)\nSelects the range of text between positions *start_pos* and *end_pos*,\nscrolling the selected text into view.\n@param buffer A buffer.\n@param start_pos The start position of the range of text in *buffer* to\n  select. If negative, it means the end of the buffer.\n@param end_pos The end position of the range of text in *buffer* to select.\n  If negative, it means remove any selection (i.e. set the `anchor` to the\n  same position as `current_pos`).
set_sel_back buffer.set_sel_back(buffer, use_setting, color)\nOverrides the selection's default background color with color *color*, in\n"0xBBGGRR" format, if *use_setting* is `true`.\nOverwrites any existing `buffer.additional_sel_back` color.\n@param buffer A buffer.\n@param use_setting Whether or not to use *color*.\n@param color The color in "0xBBGGRR" format.
set_sel_fore buffer.set_sel_fore(buffer, use_setting, color)\nOverrides the selection's default foreground color with color *color*, in\n"0xBBGGRR" format, if *use_setting* is `true`.\nOverwrites any existing `buffer.additional_sel_fore` color.\n@param buffer A buffer.\n@param use_setting Whether or not to use *color*.\n@param color The color in "0xBBGGRR" format.
set_selection buffer.set_selection(buffer, end_pos, start_pos)\nSelects the range of text between positions *start_pos* to *end_pos*,\nremoving all other selections.\n@param buffer A buffer.\n@param end_pos The caret position of the range of text to select in *buffer*.\n@param start_pos The anchor position of the range of text to select in\n  *buffer*.
set_styling buffer.set_styling(buffer, length, style)\nAssigns style number *style*, in the range from `0` to `255`, to the next\n*length* characters, starting from the current styling position, and\nincrements the styling position by *length*.\n@param buffer A buffer.\n@param length The number of characters to style.\n@param style The style number to set.
set_text buffer.set_text(buffer, text)\nReplaces the buffer's text with string *text*.\n@param buffer A buffer.\n@param text The text to set.
set_theme ui.set_theme(name, props)\nSwitches the editor theme to string *name* and (optionally) assigns the\nproperties contained in table *props*.\nUser themes override Textadept's default themes when they have the same name.\nIf *name* contains slashes, it is assumed to be an absolute path to a theme\ninstead of a theme name.\n@param name The name or absolute path of a theme to set.\n@param props Optional table of theme property assignments that override the\n  theme's defaults.\n@usage ui.set_theme('light', {font = 'Monospace', fontsize = 12})
set_visible_policy buffer.set_visible_policy(buffer, policy, y)\nDefines scrolling policy bit-mask *policy* as the policy for keeping the\ncaret *y* number of lines away from the vertical margins as\n`buffer.ensure_visible_enforce_policy()` redisplays hidden or folded lines.\nIt is similar in operation to `buffer.set_y_caret_policy()`.\n@param buffer A buffer.\n@param policy The combination of `buffer.VISIBLE_SLOP` and\n  `buffer.VISIBLE_STRICT` policy flags to set.\n@param y The number of lines from the vertical margins to keep the caret.
set_whitespace_back buffer.set_whitespace_back(buffer, use_setting, color)\nOverrides the background color of whitespace with color *color*, in\n"0xBBGGRR" format, if *use_setting* is `true`.\n@param buffer A buffer.\n@param use_setting Whether or not to use *color*.\n@param color The color in "0xBBGGRR" format.
set_whitespace_fore buffer.set_whitespace_fore(buffer, use_setting, color)\nOverrides the foreground color of whitespace with color *color*, in\n"0xBBGGRR" format, if *use_setting* is `true`.\n@param use_setting Whether or not to use *color*.\n@param color The color in "0xBBGGRR" format.
set_x_caret_policy buffer.set_x_caret_policy(buffer, policy, x)\nDefines scrolling policy bit-mask *policy* as the policy for keeping the\ncaret *x* number of pixels away from the horizontal margins.\n@param buffer A buffer.\n@param policy The combination of `buffer.CARET_SLOP`, `buffer.CARET_STRICT`,\n  `buffer.CARET_EVEN`, and `buffer.CARET_JUMPS` policy flags to set.\n@param x The number of pixels from the horizontal margins to keep the caret.
set_y_caret_policy buffer.set_y_caret_policy(buffer, policy, y)\nDefines scrolling policy bit-mask *policy* as the policy for keeping the\ncaret *y* number of lines away from the vertical margins.\n@param buffer A buffer.\n@param policy The combination of `buffer.CARET_SLOP`, `buffer.CARET_STRICT`,\n  `buffer.CARET_EVEN`, and `buffer.CARET_JUMPS` policy flags to set.\n@param y The number of lines from the vertical margins to keep the caret.
sethook debug.sethook([thread, ] hook, mask [, count])\nSets the given function as a hook. The string `mask` and the number\n`count` describe when the hook will be called. The string mask may have\nthe following characters, with the given meaning:\n  "c": the hook is called every time Lua calls a function;\n  "r": the hook is called every time Lua returns from a function;\n  "l": the hook is called every time Lua enters a new line of code.\n\nWith a `count` different from zero, the hook is called after every `count`\ninstructions.\n\nWhen called without arguments, `debug.sethook` turns off the hook.\n\nWhen the hook is called, its first parameter is a string describing\nthe event that has triggered its call: `"call"` (or `"tail call"`),\n`"return"`, `"line"`, and `"count"`. For line events, the hook also gets the\nnew line number as its second parameter. Inside a hook, you can call\n`getinfo` with level 2 to get more information about the running function\n(level 0 is the `getinfo` function, and level 1 is the hook function).
setlocal debug.setlocal([thread, ] level, local, value)\nThis function assigns the value `value` to the local variable with\nindex `local` of the function at level `level` of the stack. The function\nreturns nil if there is no local variable with the given index, and raises\nan error when called with a `level` out of range. (You can call `getinfo`\nto check whether the level is valid.) Otherwise, it returns the name of\nthe local variable.\n\nSee `debug.getlocal` for more information about variable indices and names.
setlocale os.setlocale(locale [, category])\nSets the current locale of the program. `locale` is a system-dependent string\nspecifying a locale; `category` is an optional string describing which\ncategory to change: `"all"`, `"collate"`, `"ctype"`, `"monetary"`,\n`"numeric"`, or `"time"`; the default category is `"all"`. The function\nreturns the name of the new locale, or nil if the request cannot be honored.\n\nIf `locale` is the empty string, the current locale is set to an\nimplementation-defined native locale. If `locale` is the string "`C`",\nthe current locale is set to the standard C locale.\n\nWhen called with nil as the first argument, this function only returns\nthe name of the current locale for the given category.\n\nThis function may not be thread safe because of its reliance on C function\n`setlocale`.
setmaxstack lpeg.setmaxstack(max)\nSets the maximum size for the backtrack stack used by LPeg to track calls and\nchoices. Most well-written patterns need little backtrack levels and\ntherefore you seldom need to change this maximum; but a few useful patterns\nmay need more space. Before changing this maximum you should try to rewrite\nyour pattern to avoid the need for extra space.
setmetatable _G.setmetatable(table, metatable)\nSets the metatable for the given table. (You cannot change the metatable\nof other types from Lua, only from C.) If `metatable` is nil, removes the\nmetatable of the given table. If the original metatable has a `"__metatable"`\nfield, raises an error.\n\nThis function returns `table`.
setmetatable debug.setmetatable(value, table)\nSets the metatable for the given `value` to the given `table` (which\ncan be nil).
setmode lfs.setmode(file, mode)\nSets the writing mode for a file. The mode string can be either binary or\ntext. Returns the previous mode string for the file. This function is only\navailable in Windows, so you may want to make sure that lfs.setmode exists\nbefore using it.
setupvalue debug.setupvalue(f, up, value)\nThis function assigns the value `value` to the upvalue with index `up`\nof the function `f`. The function returns nil if there is no upvalue with the\ngiven index. Otherwise, it returns the name of the upvalue.
setuservalue debug.setuservalue(udata, value)\nSets the given `value` as the Lua value associated to the given `udata`.\n`value` must be a table or nil; `udata` must be a full userdata.\n\nReturns `udata`.
setvbuf file:setvbuf(mode [, size])\nSets the buffering mode for an output file. There are three available\nmodes:\n  "no": no buffering; the result of any output operation appears immediately.\n  "full": full buffering; output operation is performed only when the\n          buffer is full or when you explicitly `flush` the file (see\n          `io.flush`).\n  "line": line buffering; output is buffered until a newline is output or\n          there is any input from some special files (such as a terminal\n          device).\n\nFor the last two cases, `size` specifies the size of the buffer, in\nbytes. The default is an appropriate size.
shebangs textadept.file_types.shebangs (table)\nMap of shebang words to their associated lexer names.\nIf the file has a shebang line, a line that starts with "#!" and is the first\nline in the file, each shebang word is matched against that line.
show_documentation textadept.editing.show_documentation()\nDisplays a call tip with documentation for the symbol under or directly\nbehind the caret.\nIf a call tip is already shown, cycles to the next one if it exists.\nDocumentation is stored in API files in the `api_files` table.\nSymbols are determined by using `buffer.word_chars`.\n@see api_files\n@see buffer.word_chars
show_lines buffer.show_lines(buffer, start_line, end_line)\nShows the range of lines between line numbers *start_line* to *end_line*.\nThis has no effect on fold levels or fold flags and the first line cannot be\nhidden.\n@param buffer A buffer.\n@param start_line The start line of the range of lines in *buffer* to show.\n@param end_line The end line of the range of lines in *buffer* to show.
sin math.sin(x)\nReturns the sine of `x` (assumed to be in radians).
sinh math.sinh(x)\nReturns the hyperbolic sine of `x`.
size ui.size (table)\nA table containing the width and height pixel values of Textadept's window.
size view.size (number)\nThe split resizer's pixel position if the view is a split one.
snapopen io.snapopen(paths, filter, exclude_FILTER, opts)\nPrompts the user to select files to be opened from *paths*, a string\ndirectory path or list of directory paths, using a filtered list dialog.\nIf *paths* is `nil`, uses the current project's root directory, which is\nobtained from `io.get_project_root()`.\nFiles shown in the dialog do not match any pattern in either string or table\n*filter* or, unless *exclude_FILTER* is `true`, in `lfs.FILTER`. A filter\ntable contains Lua patterns that match filenames to exclude, an optional\n`folders` sub-table that contains patterns matching directories to exclude,\nand an optional `extensions` sub-table that contains raw file extensions to\nexclude. Any patterns starting with '!' exclude files and directories that do\nnot match the pattern that follows. The number of files in the list is capped\nat `SNAPOPEN_MAX`. If *filter* is `nil` and *paths* is ultimately a string,\nthe filter from the `io.snapopen_filters` table is used. In that case, unless\nexplicitly specified, *exclude_FILTER* becomes `true`.\n*opts* is an optional table of additional options for\n`ui.dialogs.filteredlist()`.\n@param paths Optional string directory path or table of directory paths to\n  search. The default value is the current project's root directory, if\n  available.\n@param filter Optional filter for files and directories to exclude. The\n  default value comes from `io.snapopen_filters` if *paths* is a string.\n@param exclude_FILTER Optional flag indicating whether or not to exclude the\n  default filter `lfs.FILTER` in the search. If `false`, adds `lfs.FILTER` to\n  *filter*.\n  Normally, the default value is `false` to include the default filter.\n  However, in the instances where *filter* comes from `io.snapopen_filters`,\n  the default value is `true`.\n@param opts Optional table of additional options for\n  `ui.dialogs.filteredlist()`.\n@usage io.snapopen(buffer.filename:match('^.+/')) -- list all files in the\n  current file's directory, subject to the default filter\n@usage io.snapopen('/project', '!%.lua$') -- list all Lua files in a project\n   directory\n@usage io.snapopen('/project', {folders = {'build'}}) -- list all source\n  files in a project directory\n@see io.snapopen_filters\n@see lfs.FILTER\n@see SNAPOPEN_MAX\n@see ui.dialogs.filteredlist
snapopen_filters io.snapopen_filters (table)\nMap of file paths to filters used by `io.snapopen()`.\n@see snapopen
snippets _G.snippets (table)\nMap of snippet triggers with their snippet text, with language-specific\nsnippets tables assigned to a lexer name key.\nThis table also contains the `textadept.snippets` module.
snippets textadept.snippets (module)\nSnippets for Textadept.
sort table.sort(list [, comp])\nSorts list elements in a given order, *in-place*, from `list[1]` to\n`list[#list]`. If `comp` is given, then it must be a function that receives\ntwo list elements and returns true when the first element must come before\nthe second in the final order (so that `not comp(list[i+1],list[i])` will be\ntrue after the sort). If `comp` is not given, then the standard Lua operator\n`<` is used instead.\n\nThe sort algorithm is not stable; that is, elements considered equal by the\ngiven order may have their relative positions changed by the sort.
space lexer.space (pattern)\nA pattern that matches any whitespace character ('\t', '\v', '\f', '\n',\n'\r', space).
spawn _G.spawn(argv, cwd, stdout_cb, stderr_cb, exit_cb)\nSpawns an interactive child process *argv* in a separate thread, returning\na handle to that process.\nAt the moment, only the Win32 terminal version spawns processes in the same\nthread.\n@param argv A command line string containing the program's name followed by\n  arguments to pass to it. `PATH` is searched for program names.\n@param cwd Optional current working directory (cwd) for the child\n  process. The default value is `nil`, which inherits the parent's cwd.\n@param stdout_cb Optional Lua function that accepts a string parameter for a\n  block of standard output read from the child. Stdout is read asynchronously\n  in 1KB or 0.5KB blocks (depending on the platform), or however much data is\n  available at the time.\n  At the moment, only the Win32 terminal version sends all output, whether it\n  be stdout or stderr, to this callback after the process finishes.\n@param stderr_cb Optional Lua function that accepts a string parameter for a\n  block of standard error read from the child. Stderr is read asynchronously\n  in 1KB or 0.5kB blocks (depending on the platform), or however much data is\n  available at the time.\n@param exit_cb Optional Lua function that is called when the child process\n  finishes. The child's exit status is passed.\n@usage spawn('lua buffer.filename', nil, print)\n@usage proc = spawn('lua -e "print(io.read())"', nil, print)\n       proc:write('foo\n')\n@return proc
split view.split(view, vertical)\nSplits the view into top and bottom views (unless *vertical* is `true`),\nfocuses the new view, and returns both the old and new views.\nIf *vertical* is `false`, splits the view vertically into left and\nright views.\nEmits a `VIEW_NEW` event.\n@param view The view to split.\n@param vertical Optional flag indicating whether or not to split the view\n  vertically. The default value is `false`, for horizontal.\n@return old view and new view.\n@see events.VIEW_NEW
sqrt math.sqrt(x)\nReturns the square root of `x`. (You can also use the expression `x^0.5`\nto compute this value.)
standard_dropdown ui.dialogs.standard_dropdown(options)\nPrompts the user with a drop-down item selection dialog defined by dialog\noptions table *options* and with localized "Ok" and "Cancel" buttons,\nreturning the selected button's index along with the selected item's index.\nIf *options*.`string_output` is `true`, returns the selected button's label\nalong with the selected item's text.\nIf the dialog closed due to *options*.`exit_onchange`, returns `4` along with\neither the selected item's index or its text. If the dialog timed out,\nreturns `0` or `"timeout"`. If the user canceled the dialog, returns `-1` or\n`"delete"`.\n@param options Table of key-value option pairs for the drop-down dialog.\n\n  * `title`: The dialog's title text.\n  * `text`: The dialog's main message text.\n  * `items`: The list of string items to show in the drop-down.\n  * `no_cancel`: Do not display the "Cancel" button. The default value is\n    `false`.\n  * `exit_onchange`: Close the dialog after selecting a new item. The default\n    value is `false`.\n  * `select`: The index of the initially selected list item. The default\n    value is `1`.\n  * `string_output`: Return the selected button's label (instead of its\n    index) and the selected item's text (instead of its index). If no item\n    was selected, returns the dialog's exit status (instead of its exit\n    code). The default value is `false`.\n  * `width`: The dialog's pixel width.\n  * `height`: The dialog's pixel height.\n  * `float`: Show the dialog on top of all desktop windows. The default value\n    is `false`.\n  * `timeout`: the integer number of seconds the dialog waits for the user to\n    select a button before timing out. Dialogs do not time out by default.\n@return selected button or exit code, selected item
standard_inputbox ui.dialogs.standard_inputbox(options)\nPrompts the user with an inputbox dialog defined by dialog options table\n*options* and with localized "Ok" and "Cancel" buttons, returning the\nselected button's index along with the user's input text (the latter as a\nstring or table, depending on the type of *options*.`informative_text`).\nIf *options*.`string_output` is `true`, returns the selected button's label\nalong with the user's input text.\nIf the dialog timed out, returns `0` or `"timeout"`. If the user canceled the\ndialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the inputbox.\n\n  * `title`: The dialog's title text.\n  * `informative_text`: The dialog's main message text. If the value is a\n    table, the first table value is the main message text and any subsequent\n    values are used as the labels for multiple entry boxes. Providing a\n    single label has no effect.\n  * `text`: The dialog's initial input text. If the value is a table, the\n    table values are used to populate the multiple entry boxes defined by\n    `informative_text`.\n  * `no_cancel`: Do not display the "Cancel" button. The default value is\n    `false`.\n  * `string_output`: Return the selected button's label (instead of its\n    index) or the dialog's exit status instead of the button's index (instead\n    of its exit code). The default value is `false`.\n  * `width`: The dialog's pixel width.\n  * `height`: The dialog's pixel height.\n  * `float`: Show the dialog on top of all desktop windows. The default value\n    is `false`.\n  * `timeout`: the integer number of seconds the dialog waits for the user to\n    select a button before timing out. Dialogs do not time out by default.\n@return selected button or exit code, input text
start_styling buffer.start_styling(buffer, position, style_mask)\nBegins styling at position *position* with styling bit-mask *style_mask*.\n*style_mask* specifies which style bits can be set with\n`buffer.set_styling()`.\n@param buffer A buffer.\n@param position The position in *buffer* to start styling at.\n@param style_mask The bit mask of style bits that can be set when styling.\n@usage buffer:start_styling(0, 0xFF)\n@see set_styling
starts_line lexer.starts_line(patt)\nCreates and returns a pattern that matches pattern *patt* only at the\nbeginning of a line.\n@param patt The LPeg pattern to match on the beginning of a line.\n@usage local preproc = token(l.PREPROCESSOR, l.starts_line('#') *\n  l.nonnewline^0)\n@return pattern
status coroutine.status(co)\nReturns the status of coroutine `co`, as a string: `"running"`, if\nthe coroutine is running (that is, it called `status`); `"suspended"`, if\nthe coroutine is suspended in a call to `yield`, or if it has not started\nrunning yet; `"normal"` if the coroutine is active but not running (that\nis, it has resumed another coroutine); and `"dead"` if the coroutine has\nfinished its body function, or if it has stopped with an error.
status spawn_proc:status()\nReturns the status of process *proc*, which is either "running" or\n"terminated".\n@return "running" or "terminated"
statusbar_text ui.statusbar_text (string, Write-only)\nThe text displayed in the statusbar.
stderr io.stderr (file)\nStandard error.
stdin io.stdin (file)\nStandard in.
stdout io.stdout (file)\nStandard out.
stop textadept.run.stop()\nStops the currently running process, if any.
string _G.string (module)\nLua string module.
stuttered_page_down buffer.stuttered_page_down(buffer)\nMoves the caret to the bottom of the page or, if already there, down one\npage.\n@param buffer A buffer.
stuttered_page_down_extend buffer.stuttered_page_down_extend(buffer)\nLike `buffer.stuttered_page_down()`, but extends the selected text to the new\nposition.\n@param buffer A buffer.
stuttered_page_up buffer.stuttered_page_up(buffer)\nMoves the caret to the top of the page or, if already there, up one page.\n@param buffer A buffer.
stuttered_page_up_extend buffer.stuttered_page_up_extend(buffer)\nLike `buffer.stuttered_page_up()`, but extends the selected text to the new\nposition.\n@param buffer A buffer.
style_at buffer.style_at (table, Read-only)\nTable of style numbers at positions starting from zero.
style_at lexer.style_at (table, Read-only)\nTable of style names at positions in the buffer starting from zero.
style_back buffer.style_back (table)\nTable of background colors, in "0xBBGGRR" format, of text for style numbers\nfrom `0` to `255`.
style_bold buffer.style_bold (table)\nTable of flags that indicate whether or not text is bold for style numbers\nfrom `0` to `255`.\nThe default values are `false`.
style_case buffer.style_case (table)\nTable of letter case modes of text for style numbers from `0` to `255`.\n\n* `buffer.CASE_MIXED`\n  Display text in normally.\n* `buffer.CASE_UPPER`\n  Display text in upper case.\n* `buffer.CASE_LOWER`\n  Display text in lower case.\n\nThe default values are `buffer.CASE_MIXED`.
style_changeable buffer.style_changeable (table)\nTable of flags that indicate whether or not text is changeable for style\nnumbers from `0` to `255`.\nThe default values are `true`.\nCurrently, read-only styles do not allow the caret into the range of text,\nbut ranges that contain read-only text are deletable.
style_clear_all buffer.style_clear_all(buffer)\nReverts all styles to having the same properties as `buffer.STYLE_DEFAULT`.\n@param buffer A buffer.
style_eol_filled buffer.style_eol_filled (table)\nTable of flags that indicate whether or not the background colors of styles\nwhose characters occur last on lines extend all the way to the view's right\nmargin for style numbers from `0` to `255`.\nThe default values are `false`.
style_font buffer.style_font (table)\nTable of string font names of text for style numbers from `0` to `255`.
style_fore buffer.style_fore (table)\nTable of foreground colors, in "0xBBGGRR" format, of text for style numbers\nfrom `0` to `255`.
style_hot_spot buffer.style_hot_spot (table)\nTable of flags that indicate whether or not text is clickable for style\nnumbers from `0` to `255`.\nThe default values are `false`.
style_italic buffer.style_italic (table)\nTable of flags that indicate whether or not text is italic for style\nnumbers from `0` to `255`.\nThe default values are `false`.
style_name buffer.style_name (table, Read-only)\nTable of style names for style numbers from `0` to `255`.
style_reset_default buffer.style_reset_default(buffer)\nResets `buffer.STYLE_DEFAULT` to its initial state.\n@param buffer A buffer.
style_size buffer.style_size (table)\nTable of font sizes of text for style numbers from `0` to `255`.
style_underline buffer.style_underline (table)\nTable of flags that indicate whether or not text is underlined for style\nnumbers from `0` to `255`.\nThe default values are `false`.
style_visible buffer.style_visible (table)\nTable of flags that indicate whether or not text is visible for style\nnumbers from `0` to `255`.\nThe default values are `true`.
sub string.sub(s, i [, j])\nReturns the substring of `s` that starts at `i` and continues until\n`j`; `i` and `j` can be negative. If `j` is absent, then it is assumed to\nbe equal to -1 (which is the same as the string length). In particular,\nthe call `string.sub(s,1,j)` returns a prefix of `s` with length `j`, and\n`string.sub(s, -i)` returns a suffix of `s` with length `i`.\n\nIf, after the translation of negative indices, `i` is less than 1, it is\ncorrected to 1. If `j` is greater than the string length, it is corrected to\nthat length. If, after these corrections, `i` is greater than `j`, the\nfunction returns the empty string.
swap_main_anchor_caret buffer.swap_main_anchor_caret(buffer)\nSwaps the main selection's beginning and end positions.\n@param buffer A buffer.
switch_buffer ui.switch_buffer()\nPrompts the user to select a buffer to switch to.
symlinkattributes lfs.symlinkattributes(filepath [, aname])\nIdentical to lfs.attributes except that it obtains information about the link\nitself (not the file it refers to). This function is not available in Windows\nso you may want to make sure that lfs.symlinkattributes exists before using\nit.
tab buffer.tab(buffer)\nIndents the text on the selected lines or types a Tab character ("\t") at\nthe caret position.\n@param buffer A buffer.
tab_context_menu textadept.menu.tab_context_menu (table)\nThe default tabbar context menu.
tab_context_menu ui.tab_context_menu (userdata)\nThe context menu for the buffer's tab, a `ui.menu()`.\nThis is a low-level field. You probably want to use the higher-level\n`textadept.menu.tab_context_menu`.
tab_indents buffer.tab_indents (bool)\nIndent text when tabbing within indentation.\nThe default value is `false`.
tab_label buffer.tab_label (string)\nThe buffer's tab label in the tab bar.
tab_width buffer.tab_width (number)\nThe number of space characters represented by a tab character.\nThe default value is `8`.
table _G.table (module)\nLua table module.
tabs ui.tabs (bool)\nWhether or not to display the tab bar when multiple buffers are open.\nThe default value is `true`.
tag buffer.tag (table, Read-only)\nList of capture text for capture numbers from a regular expression search.
tags _M.ansi_c.tags (table)\nList of ctags files to use for autocompletion.
tags _M.lua.tags (table)\nList of "fake" ctags files to use for autocompletion.\nThe kind 'm' is recognized as a module, 'f' as a function, 't' as a table and\n'F' as a module or table field.
tags _M.python.tags (table)\nList of ctags files to use for autocompletion.
tags _M.ruby.tags (table)\nList of "fake" ctags files to use for autocompletion.\nIn addition to the normal ctags kinds for Ruby, the kind 'C' is recognized as\na constant and 'a' as an attribute.
tan math.tan(x)\nReturns the tangent of `x` (assumed to be in radians).
tanh math.tanh(x)\nReturns the hyperbolic tangent of `x`.
target_end buffer.target_end (number)\nThe position of the end of the target range.\nThis is also set by a successful `buffer.search_in_target()`.
target_from_selection buffer.target_from_selection(buffer)\nDefines the target range's beginning and end positions as the beginning and\nend positions of the main selection, respectively.\n@param buffer A buffer.
target_start buffer.target_start (number)\nThe position of the beginning of the target range.\nThis is also set by a successful `buffer.search_in_target()`.
text_height buffer.text_height(buffer, line)\nReturns the pixel height of line number *line*.\n@param buffer A buffer.\n@param line The line number in *buffer* to get the pixel height of.\n@return number
text_length buffer.text_length (number, Read-only)\nThe number of bytes in the buffer.
text_range buffer.text_range(buffer, start_pos, end_pos)\nReturns the range of text between positions *start_pos* and *end_pos*.\n@param buffer A buffer.\n@param start_pos The start position of the range of text to get in *buffer*.\n@param end_pos The end position of the range of text to get in *buffer*.
text_width buffer.text_width(buffer, style_num, text)\nReturns the pixel width string *text* would have when styled with style\nnumber *style_num*, in the range of `0` to `255`.\n@param buffer A buffer.\n@param style_num The style number between `0` and `255` to use.\n@param text The text to measure the width of.\n@return number
textadept _G.textadept (module)\nThe textadept module.\nIt provides utilities for editing text in Textadept.
textbox ui.dialogs.textbox(options)\nPrompts the user with a multiple-line textbox dialog defined by dialog\noptions table *options*, returning the selected button's index.\nIf *options*.`string_output` is `true`, returns the selected button's label.\nIf *options*.`editable` is `true`, also returns the textbox's text. If the\ndialog timed out, returns `0` or `"timeout"`. If the user canceled the\ndialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the dialog.\n\n  * `title`: The dialog's title text.\n  * `informative_text`: The dialog's main message text.\n  * `text`: The dialog's initial textbox text.\n  * `text_from_file`: The filename whose contents are loaded into the\n    textbox. This option has no effect when `text` is given.\n  * `button1`: The right-most button's label. The default value is\n    `_L['_OK']`.\n  * `button2`: The middle button's label.\n  * `button3`: The left-most button's label. This option requires `button2`\n    to be set.\n  * `editable`: Allows the user to edit the textbox's text. The default value\n    is `false`.\n  * `focus_textbox`: Focus the textbox instead of the buttons. The default\n    value is `false`.\n  * `scroll_to`: Where to scroll the textbox's text.\n    The available values are `"top"` and `"bottom"`. The default value is\n    `"top"`.\n  * `selected`: Select all of the textbox's text. The default value is\n    `false`.\n  * `monospaced_font`: Use a monospaced font in the textbox instead of a\n    proportional one. The default value is `false`.\n  * `string_output`: Return the selected button's label (instead of its\n    index) or the dialog's exit status instead of the button's index (instead\n    of its exit code). The default value is `false`.\n  * `width`: The dialog's pixel width.\n  * `height`: The dialog's pixel height.\n  * `float`: Show the dialog on top of all desktop windows. The default value\n    is `false`.\n  * `timeout`: the integer number of seconds the dialog waits for the user to\n    select a button before timing out. Dialogs do not time out by default.\n@usage ui.dialogs.textbox{title = 'License Agreement',\n  informative_text = 'You agree to:', text_from_file = _HOME..'/LICENSE'}\n@return selected button or exit code, textbox text
time os.time([table])\nReturns the current time when called without arguments, or a time\nrepresenting the date and time specified by the given table. This table\nmust have fields `year`, `month`, and `day`, and may have fields `hour`\n(default is 12), `min` (default is 0), `sec` (default is 0), and `isdst`\n(default is nil). For a description of these fields, see the `os.date`\nfunction.\n\nThe returned value is a number, whose meaning depends on your system. In\nPOSIX, Windows, and some other systems, this number counts the number of\nseconds since some given start time (the "epoch"). In other systems, the\nmeaning is not specified, and the number returned by `time` can be used only\nas an argument to `os.date` and `os.difftime`.
timeout _G.timeout(interval, f, ...)\nCalls function *f* with the given arguments after *interval* seconds.\nIf *f* returns `true`, calls *f* repeatedly every *interval* seconds as long\nas *f* returns `true`. A `nil` or `false` return value stops repetition.\n@param interval The interval in seconds to call *f* after.\n@param f The function to call.\n@param ... Additional arguments to pass to *f*.
title ui.title (string, Write-only)\nThe title text of Textadept's window.
tmpfile io.tmpfile()\nReturns a handle for a temporary file. This file is opened in update\nmode and it is automatically removed when the program ends.
tmpname os.tmpname()\nReturns a string with a file name that can be used for a temporary\nfile. The file must be explicitly opened before its use and explicitly\nremoved when no longer needed.\n\nOn POSIX systems, this function also creates a file with that name, to avoid\nsecurity risks. (Someone else might create the file with wrong permissions in\nthe time between getting the name and creating the file.) You still have to\nopen the file to use it and to remove it (even if you do not use it).\n\nWhen possible, you may prefer to use `io.tmpfile`, which automatically\nremoves the file when the program ends.
toggle textadept.bookmarks.toggle(on)\nToggles the bookmark on the current line unless *on* is given.\nIf *on* is `true` or `false`, adds or removes the bookmark, respectively.\n@param on Optional flag indicating whether to add or remove a bookmark on the\n  current line. The default value is `nil`, toggling a bookmark.
toggle_block _M.ruby.toggle_block()\nToggles between `{ ... }` and `do ... end` Ruby blocks.\nIf the caret is inside a `{ ... }` single-line block, that block is converted\nto a multiple-line `do .. end` block. If the caret is on a line that contains\nsingle-line `do ... end` block, that block is converted to a single-line\n`{ ... }` block. If the caret is inside a multiple-line `do ... end` block,\nthat block is converted to a single-line `{ ... }` block with all newlines\nreplaced by a space. Indentation is important. The `do` and `end` keywords\nmust be on lines with the same level of indentation to toggle correctly.
toggle_caret_sticky buffer.toggle_caret_sticky(buffer)\nCycles between `buffer.caret_sticky` option settings `buffer.CARETSTICKY_ON`\nand `buffer.CARETSTICKY_OFF`.\n@param buffer A buffer.\n@see caret_sticky
toggle_fold buffer.toggle_fold(buffer, line)\nToggles the fold point on line number *line* between expanded (where all of\nits child lines are displayed) and contracted (where all of its child lines\nare hidden).\n@param buffer A buffer.\n@param line The line number in *buffer* to toggle the fold on.
token lexer.token(name, patt)\nCreates and returns a token pattern with token name *name* and pattern\n*patt*.\nIf *name* is not a predefined token name, its style must be defined in the\nlexer's `_tokenstyles` table.\n@param name The name of token. If this name is not a predefined token name,\n  then a style needs to be assiciated with it in the lexer's `_tokenstyles`\n  table.\n@param patt The LPeg pattern associated with the token.\n@usage local ws = token(l.WHITESPACE, l.space^1)\n@usage local annotation = token('annotation', '@' * l.word)\n@return pattern
tonumber _G.tonumber(e [, base])\nWhen called with no `base`, `tonumber` tries to convert its argument to a\nnumber. If the argument is already a number or a string convertible to a\nnumber (see §3.4.2), then `tonumber` returns this number; otherwise, it\nreturns nil.\n\nWhen called with `base`, then `e` should be a string to be interpreted as an\ninteger numeral in that base. The base may be any integer between 2 and 36,\ninclusive. In bases above 10, the letter '`A`' (in either upper or lower\ncase) represents 10, '`B`' represents 11, and so forth, with '`Z`'\nrepresenting 35. If the string `e` is not a valid numeral in the given base,\nthe function returns nil
tostring _G.tostring(v)\nReceives a value of any type and converts it to a string in a reasonable\nformat. (For complete control of how numbers are converted, use\n`string.format`.)\n\nIf the metatable of `v` has a `"__tostring"` field, then `tostring` calls the\ncorresponding value with `v` as argument, and uses the result of the call as\nits result.
touch lfs.touch(filepath [, atime [, mtime]])\nSet access and modification times of a file. This function is a bind to utime\nfunction. The first argument is the filename, the second argument (atime) is\nthe access time, and the third argument (mtime) is the modification time.\nBoth times are provided in seconds (which should be generated with Lua\nstandard function os.time). If the modification time is omitted, the access\ntime provided is used; if both times are omitted, the current time is used.\n\nReturns true if the operation was successful; in case of error, it returns\nnil plus an error string.
traceback debug.traceback([thread, ] [message] [, level])\nIf `message` is present but is neither a string nor nil, this function\nreturns `message` without further processing. Otherwise, it returns a string\nwith a traceback of the call stack. An optional `message` string is appended\nat the beginning of the traceback. An optional `level` number tells at which\nlevel to start the traceback (default is 1, the function calling\n`traceback`).
transpose_chars textadept.editing.transpose_chars()\nTransposes characters intelligently.\nIf the caret is at the end of a line, transposes the two characters before\nthe caret. Otherwise, the characters to the left and right are.
try_to_autocomplete_end _M.lua.try_to_autocomplete_end()\nTries to autocomplete control structures like `if`, `while`, `for`, etc. with\nthe `end` keyword.\n@see control_structure_patterns
try_to_autocomplete_end _M.ruby.try_to_autocomplete_end()\nTries to autocomplete Ruby's `end` keyword for control structures like `if`,\n`while`, `for`, etc.\n@see control_structure_patterns
two_phase_draw buffer.two_phase_draw (bool)\nDraw in two phases: first the background and then the foreground.\nThe default value is `true`.
type _G.type(v)\nReturns the type of its only argument, coded as a string. The possible\nresults of this function are "\n`nil`" (a string, not the value nil), "`number`", "`string`", "`boolean`",\n"`table`", "`function`", "`thread`", and "`userdata`".
type io.type(obj)\nChecks whether `obj` is a valid file handle. Returns the string `"file"`\nif `obj` is an open file handle, `"closed file"` if `obj` is a closed file\nhandle, or nil if `obj` is not a file handle.
type lpeg.type(value)\nIf the given value is a pattern, returns the string "pattern". Otherwise\nreturns nil.
typeover_chars textadept.editing.typeover_chars (table)\nTable of characters to move over when typed, with language-specific typeover\ncharacter tables assigned to a lexer name key.\nThe ASCII values of characters are keys and are assigned non-`nil` values.\nThe default characters are ')', ']', '}', ''', and '"'.\n@see TYPEOVER_CHARS
ui _G.ui (module)\nUtilities for interacting with Textadept's user interface.
undo buffer.undo(buffer)\nUndoes the most recent action.\n@param buffer A buffer.
undo_collection buffer.undo_collection (bool)\nCollect undo information.\nWhen setting to `false`, call `buffer.empty_undo_buffer()` to\nsynchronize the undo buffer with the buffer text.\nThe default value is `true`.
unlock lfs.unlock(filehandle[, start[, length]])\nUnlocks a file or a part of it. This function works on open files; the file\nhandle should be specified as the first argument. The optional arguments\nstart and length can be used to specify a starting point and its length; both\nshould be numbers.\n\nReturns true if the operation was successful; in case of error, it returns\nnil plus an error string.
unpack table.unpack(list [, i [, j]])\nReturns the elements from the given table. This function is equivalent to\n\n  return list[i], list[i+1], ···, list[j]\n\nBy default, `i` is 1 and `j` is `#list`.
unsplit view.unsplit(view)\nUnsplits the view if possible, returning `true` on success.\n@param view The view to unsplit.\n@return boolean if the view was unsplit or not.
upper lexer.upper (pattern)\nA pattern that matches any upper case character ('A'-'Z').
upper string.upper(s)\nReceives a string and returns a copy of this string with all lowercase\nletters changed to uppercase. All other characters are left unchanged. The\ndefinition of what a lowercase letter is depends on the current locale.
upper_case buffer.upper_case(buffer)\nConverts the selected text to upper case letters.\n@param buffer A buffer.
upvalueid debug.upvalueid(f, n)\nReturns an unique identifier (as a light userdata) for the upvalue numbered\n`n` from the given function.\n\nThese unique identifiers allow a program to check whether different closures\nshare upvalues. Lua closures that share an upvalue (that is, that access a\nsame external local variable) will return identical ids for those upvalue\nindices.
upvaluejoin debug.upvaluejoin(f1, n1, f2, n2)\nMake the `n1`-th upvalue of the Lua closure `f1` refer to the `n2`-th upvalue\nof the Lua closure `f2`.
use_tabs buffer.use_tabs (bool)\nUse tabs instead of spaces in indentation. Changing the current setting\ndoes not convert any of the buffer's existing indentation. Use\n`textadept.editing.convert_indentation()` to do so.\nThe default value is `true`.
user_list_show buffer.user_list_show(buffer, id, items)\nDisplays a user list identified by list identifier number *id* and\nconstructed from string *items* (whose items are delimited by\n`buffer.auto_c_separator` characters).\nThe sorted order of *items* (`buffer.auto_c_order`) must have already been\ndefined. When the user selects an item, *id* is sent in a\n`USER_LIST_SELECTION` event along with the selection.\n@param buffer A buffer.\n@param id The list identifier number greater than zero to use.\n@param items The sorted string of words to show, separated by\n  `buffer.auto_c_separator` characters (initially spaces).\n@see _SCINTILLA.next_user_list_type
v_scroll_bar buffer.v_scroll_bar (bool)\nDisplay the vertical scroll bar.\nThe default value is `true`.
vc_home buffer.vc_home(buffer)\nMoves the caret to the first visible character on the current line or, if\nalready there, to the beginning of the current line.\n@param buffer A buffer.
vc_home_display buffer.vc_home_display(buffer)\nMoves the caret to the first visible character on the current wrapped line,\nor if already there, to the beginning of the current wrapped line.\n@param buffer A buffer.
vc_home_display_extend buffer.vc_home_display_extend(buffer)\nLike `buffer.vc_home_display()`, but extends the selected text to the new\nposition.\n@param buffer A buffer.
vc_home_extend buffer.vc_home_extend(buffer)\nLike `buffer.vc_home()`, but extends the selected text to the new position.\n@param buffer A buffer.
vc_home_rect_extend buffer.vc_home_rect_extend(buffer)\nLike `buffer.vc_home()`, but extends the rectangular selection to the new\nposition.\n@param buffer A buffer.
vc_home_wrap buffer.vc_home_wrap(buffer)\nMoves the caret to the first visible character on the current wrapped line,\nor if already there, to the beginning of the actual line.\n@param buffer A buffer.
vc_home_wrap_extend buffer.vc_home_wrap_extend(buffer)\nLike `buffer.vc_home_wrap()`, but extends the selected text to the new\nposition.\n@param buffer A buffer.
version lpeg.version()\nReturns a string with the running version of LPeg.
vertical_centre_caret buffer.vertical_centre_caret(buffer)\nCenters current line in the view.\n@param buffer A buffer.
view _G.view (module)\nA Textadept view object.
view _G.view (table)\nThe current view.
view_eol buffer.view_eol (bool)\nDisplay end of line characters.\nThe default value is `false`.
view_ws buffer.view_ws (number)\nThe whitespace visibility mode.\n\n* `buffer.WS_INVISIBLE`\n  Whitespace is invisible.\n* `buffer.WS_VISIBLEALWAYS`\n  Display all space characters as dots and tab characters as arrows.\n* `buffer.WS_VISIBLEAFTERINDENT`\n  Display only non-indentation spaces and tabs as dots and arrows.\n\nThe default value is `buffer.WS_INVISIBLE`.
virtual_space_options buffer.virtual_space_options (number)\nThe virtual space mode.\n\n* `buffer.VS_NONE`\n  Disable virtual space.\n* `buffer.VS_RECTANGULARSELECTION`\n  Enable virtual space only for rectangular selections.\n* `buffer.VS_USERACCESSIBLE`\n  Enable virtual space.\n\nWhen virtual space is enabled, the caret may move into the space past end\nof line characters.\nThe default value is `buffer.VS_NONE`.
visible_from_doc_line buffer.visible_from_doc_line(buffer, line)\nReturns the displayed line number of actual line number *line*, taking hidden\nlines into account, or `-1` if *line* is outside the range of lines in the\nbuffer.\nLines can occupy more than one display line if they wrap.\n@param buffer A buffer.\n@param line The line number in *buffer* to use.\n@return number
wait spawn_proc:wait()\nBlocks until process *proc* finishes.
whitespace_chars buffer.whitespace_chars (string)\nThe string set of characters recognized as whitespace characters.\nSet this only after setting `buffer.word_chars`.\nThe default value is a string that contains all non-newline characters less\nthan ASCII value 33.
whitespace_size buffer.whitespace_size (number)\nThe pixel size of the dots that represent space characters when whitespace\nis visible.\nThe default value is `1`.
whole_word ui.find.whole_word (bool)\nMatch search text only when it is surrounded by non-word characters in\nsearches.\nThe default value is `false`.
whole_word_label_text ui.find.whole_word_label_text (string, Write-only)\nThe text of the "Whole word" label.\nThis is primarily used for localization.
word lexer.word (pattern)\nA pattern that matches a typical word. Words begin with a letter or\nunderscore and consist of alphanumeric and underscore characters.
word_chars buffer.word_chars (string)\nThe string set of characters recognized as word characters.\nThe default value is a string that contains alphanumeric characters, an\nunderscore, and all characters greater than ASCII value 127.
word_end_position buffer.word_end_position(buffer, pos, only_word_chars)\nReturns the position of the end of the word at position *pos*.\n`buffer.word_chars` contains the set of characters that constitute words. If\n*pos* has a non-word character to its right and *only_word_chars* is `false`,\nreturns the first word character's position.\n@param buffer A buffer.\n@param pos The position in *buffer* of the word.\n@param only_word_chars If `true`, stops searching at the first non-word\n  character in the search direction. Otherwise, the first character in the\n  search direction sets the type of the search as word or non-word and the\n  search stops at the first non-matching character. Searches are also\n  terminated by the start or end of the buffer.
word_left buffer.word_left(buffer)\nMoves the caret left one word.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer.
word_left_end buffer.word_left_end(buffer)\nMoves the caret left one word, positioning it at the end of the previous\nword.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer.
word_left_end_extend buffer.word_left_end_extend(buffer)\nLike `buffer.word_left_end()`, but extends the selected text to the new\nposition.\n@param buffer A buffer.
word_left_extend buffer.word_left_extend(buffer)\nMoves the caret left one word, extending the selected text to the new\nposition.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer.
word_match lexer.word_match(words, word_chars, case_insensitive)\nCreates and returns a pattern that matches any single word in list *words*.\nWords consist of alphanumeric and underscore characters, as well as the\ncharacters in string set *word_chars*. *case_insensitive* indicates whether\nor not to ignore case when matching words.\nThis is a convenience function for simplifying a set of ordered choice word\npatterns.\n@param words A table of words.\n@param word_chars Optional string of additional characters considered to be\n  part of a word. By default, word characters are alphanumerics and\n  underscores ("%w_" in Lua). This parameter may be `nil` or the empty string\n  to indicate no additional word characters.\n@param case_insensitive Optional boolean flag indicating whether or not the\n  word match is case-insensitive. The default is `false`.\n@usage local keyword = token(l.KEYWORD, word_match{'foo', 'bar', 'baz'})\n@usage local keyword = token(l.KEYWORD, word_match({'foo-bar', 'foo-baz',\n  'bar-foo', 'bar-baz', 'baz-foo', 'baz-bar'}, '-', true))\n@return pattern
word_part_left buffer.word_part_left(buffer)\nMoves the caret to the previous part of the current word.\nWord parts are delimited by underscore characters or changes in\ncapitalization.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer.
word_part_left_extend buffer.word_part_left_extend(buffer)\nMoves the caret to the previous part of the current word, extending the\nselected text to the new position.\nWord parts are delimited by underscore characters or changes in\ncapitalization.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer.
word_part_right buffer.word_part_right(buffer)\nMoves the caret to the next part of the current word.\nWord parts are delimited by underscore characters or changes in\ncapitalization.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer.
word_part_right_extend buffer.word_part_right_extend(buffer)\nMoves the caret to the next part of the current word, extending the selected\ntext to the new position.\nWord parts are delimited by underscore characters or changes in\ncapitalization.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer.
word_right buffer.word_right(buffer)\nMoves the caret right one word.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer.
word_right_end buffer.word_right_end(buffer)\nMoves the caret right one word, positioning it at the end of the current\nword.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer.
word_right_end_extend buffer.word_right_end_extend(buffer)\nLike `buffer.word_right_end()`, but extends the selected text to the new\nposition.\n@param buffer A buffer.
word_right_extend buffer.word_right_extend(buffer)\nMoves the caret right one word, extending the selected text to the new\nposition.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer.
word_start_position buffer.word_start_position(buffer, pos, only_word_chars)\nReturns the position of the beginning of the word at position *pos*.\n`buffer.word_chars` contains the set of characters that constitute words. If\n*pos* has a non-word character to its left and *only_word_chars* is `false`,\nreturns the last word character's position.\n@param buffer A buffer.\n@param pos The position in *buffer* of the word.\n@param only_word_chars If `true`, stops searching at the first non-word\n  character in the search direction. Otherwise, the first character in the\n  search direction sets the type of the search as word or non-word and the\n  search stops at the first non-matching character. Searches are also\n  terminated by the start or end of the buffer.
wrap coroutine.wrap(f)\nCreates a new coroutine, with body `f`. `f` must be a Lua\nfunction. Returns a function that resumes the coroutine each time it is\ncalled. Any arguments passed to the function behave as the extra arguments to\n`resume`. Returns the same values returned by `resume`, except the first\nboolean. In case of error, propagates the error.
wrap_count buffer.wrap_count(buffer, line)\nReturns the number of wrapped lines needed to fully display line number\n*line*.\n@param buffer A buffer.\n@param line The line number in *buffer* to use.\n@return number
wrap_indent_mode buffer.wrap_indent_mode (number)\nThe wrapped line indent mode.\n\n* `buffer.WRAPINDENT_FIXED`\n  Indent wrapped lines by `buffer.wrap_start_indent`.\n* `buffer.WRAPINDENT_SAME`\n  Indent wrapped lines the same amount as the first line.\n* `buffer.WRAPINDENT_INDENT`\n  Indent wrapped lines one more level than the level of the first line.\n\nThe default value is `buffer.WRAPINDENT_FIXED`.
wrap_mode buffer.wrap_mode (number)\nLong line wrap mode.\n\n* `buffer.WRAP_NONE`\n  Long lines are not wrapped.\n* `buffer.WRAP_WORD`\n  Wrap long lines at word (and style) boundaries.\n* `buffer.WRAP_CHAR`\n  Wrap long lines at character boundaries.\n* `buffer.WRAP_WHITESPACE`\n  Wrap long lines at word boundaries (ignoring style boundaries).\n\nThe default value is `buffer.WRAP_NONE`.
wrap_start_indent buffer.wrap_start_indent (number)\nThe number of spaces of indentation to display wrapped lines with if\n`buffer.wrap_indent_mode` is `buffer.WRAP_INDENT_FIXED`.\nThe default value is `0`.
wrap_visual_flags buffer.wrap_visual_flags (number)\nThe wrapped line visual flag display mode.\n\n* `buffer.WRAPVISUALFLAG_NONE`\n  No visual flags.\n* `buffer.WRAPVISUALFLAG_END`\n  Show a visual flag at the end of a wrapped line.\n* `buffer.WRAPVISUALFLAG_START`\n  Show a visual flag at the beginning of a sub-line.\n* `buffer.WRAPVISUALFLAG_MARGIN`\n  Show a visual flag in the sub-line's line number margin.\n\nThe default value is `buffer.WRAPVISUALFLAG_NONE`.
wrap_visual_flags_location buffer.wrap_visual_flags_location (number)\nThe wrapped line visual flag drawing mode.\n\n* `buffer.WRAPVISUALFLAGLOC_DEFAULT`\n  Draw a visual flag near the view's right margin.\n* `buffer.WRAPVISUALFLAGLOC_END_BY_TEXT`\n  Draw a visual flag near text at the end of a wrapped line.\n* `buffer.WRAPVISUALFLAGLOC_START_BY_TEXT`\n  Draw a visual flag near text at the beginning of a subline.\n\nThe default value is `buffer.WRAPVISUALFLAGLOC_DEFAULT`.
write file:write(···)\nWrites the value of each of its arguments to `file`. The arguments must be\nstrings or numbers.\n\nIn case of success, this function returns `file`. Otherwise it returns nil\nplus a string describing the error.
write io.write(···)\nEquivalent to `io.output():write(···)`.
write spawn_proc:write(...)\nWrites string input to the stdin of process *proc*.\n@param ... Standard input for *proc*.
x_offset buffer.x_offset (number)\nThe horizontal scroll pixel position.\nA value of `0` is the normal position with the first text column visible at\nthe left of the view.
xdigit lexer.xdigit (pattern)\nA pattern that matches any hexadecimal digit ('0'-'9', 'A'-'F', 'a'-'f').
xor bit32.xor(...)\nReturns the bitwise "exclusive or" of its operands.
xpcall _G.xpcall(f, msgh [, arg1, ···])\nThis function is similar to `pcall`, except that it sets a new message\nhandler `msgh`.
yaml _G.keys.yaml (table)\nContainer for YAML-specific key bindings.
yaml _G.snippets.yaml (table)\nContainer for YAML-specific snippets.
yaml _M.yaml (module)\nThe YAML module.\nIt provides utilities for editing YAML documents.
yesno_msgbox ui.dialogs.yesno_msgbox(options)\nPrompts the user with a generic message box dialog defined by dialog options\ntable *options* and with localized "Yes", "No", and "Cancel" buttons,\nreturning the selected button's index.\nIf *options*.`string_output` is `true`, returns the selected button's label.\nIf the dialog timed out, returns `0` or `"timeout"`. If the user canceled the\ndialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the message box.\n\n  * `title`: The dialog's title text.\n  * `text`: The dialog's main message text.\n  * `informative_text`: The dialog's extra informative text.\n  * `icon`: The dialog's GTK stock icon name. Examples are\n    "gtk-dialog-error", "gtk-dialog-info", "gtk-dialog-question", and\n    "gtk-dialog-warning". The dialog does not display an icon by default.\n  * `icon_file`: The dialog's icon file path. This option has no effect when\n    `icon` is set.\n  * `no_cancel`: Do not display the "Cancel" button. The default value is\n    `false`.\n  * `string_output`: Return the selected button's label (instead of its\n    index) or the dialog's exit status instead of the button's index (instead\n    of its exit code). The default value is `false`.\n  * `width`: The dialog's pixel width.\n  * `height`: The dialog's pixel height.\n  * `float`: Show the dialog on top of all desktop windows. The default value\n    is `false`.\n  * `timeout`: the integer number of seconds the dialog waits for the user to\n    select a button before timing out. Dialogs do not time out by default.\n@return selected button or exit code
yield coroutine.yield(···)\nSuspends the execution of the calling coroutine. Any arguments to `yield` are\npassed as extra results to `resume`.
zoom buffer.zoom (number)\nThe number of points to add to the size of all fonts.\nNegative values are allowed.\nThe default value is `0`.
zoom_in buffer.zoom_in(buffer)\nIncreases the size of all fonts by one point, up to 20.\n@param buffer A buffer.
zoom_out buffer.zoom_out(buffer)\nDecreases the size of all fonts by one point, down to -10.\n@param buffer A buffer.