aboutsummaryrefslogtreecommitdiff
path: root/lua
AgeCommit message (Collapse)AuthorFilesLines
2024-09-13complete-word: pipe the candidates directly to the commandFlorian Fischer1-2/+1
2024-08-28introduce new `wiki` file typeMatěj Cepl1-0/+3
2024-08-28introduce new `org` file typeMatěj Cepl1-0/+3
2024-07-26remove duplicate and obsolete lexer vbscript.luaMatěj Cepl1-63/+0
Relates-to: https://github.com/orbitalquark/scintillua/issues/68 Relates-to: https://github.com/orbitalquark/scintillua/commit/dee7d765a005 Signed-off-by: Matěj Cepl <mcepl@cepl.eu>
2024-07-26pull latest changes from scintilluamitchell2-5/+6
This combines: Added 'done' literal to Hare lexer. Initialize fold constants when Scintillua is used as a standalone library.
2024-07-26add missing lexer specific styles to solarized themeMatěj Cepl1-0/+120
This is a parallel to https://github.com/martanne/vis/pull/1197 Signed-off-by: Matěj Cepl <mcepl@cepl.eu>
2024-07-04Add additional html style tags to base-16.luajvvv1-0/+2
This closes https://github.com/martanne/vis/issues/1196.
2024-05-30Fail silently when syntax has no lexerMichiel van den Heuvel3-12/+9
This'll patch vis.lexers.load to return nil when the lexer could not be found. Previously it would've errored out, which the load in lexer.lua still will as this is used in lexers themselves. Another possibility is to only patch set_syntax in vis.lua and the WIN_HIGHLIGHT handler in vis-std.lua, but as most references to vis.lexers.load already handle a nil return, this seems better.
2024-05-06lua: filetype: properly search for lexer pathRandy Palamar1-2/+2
fixes #1190: Missing mail.lua lexer
2024-05-03lua: themes: add `STYLE_CODE`Thim Cederlund1-1/+2
used by the following lexers: gemini, markdown and txt2tags to highlight sections of code.
2024-04-30lua: complete-filename: use biggest possible prefixFlorian Fischer1-1/+1
This allows for example to complete file names in markdown images. E.g.: ![](pic<C-x><C-f> will complete the file name. Previously it would have detected the '[' as prefix.
2024-04-30lua: uncomment list of lexer specific styles in default themeRandy Palamar1-2/+0
2024-04-29Emit an event (ui_draw) immediately before drawing the screenRudy Dellomas III1-0/+2
This allows better control over styling, as well as potential for entirely new UI elements implemented entirely using the Lua API.
2024-04-29lua: small filetype/style setting cleanupRandy Palamar2-20/+5
Filetype extension mapping already needs to match regular expressions so we might as well us it to simplify things. set_syntax doesn't need to handle pseudo scintilla style definitions. I couldn't even find any examples of table style definitions anywhere let alone references to other definitions as $(style.myvarname) (hint: variables in lua already handle this).
2024-04-25lua: Report viewport lines and bytes in one tableRudy Dellomas III1-1/+1
This will break all plugins which currently use Win.viewport.
2024-04-07plugins/filetype: fix javascript/typescript detectiongit-bruh1-2/+2
2024-03-27lua: update default themesRandy Palamar2-1/+122
This also involves modifying the style definitions so that they include sub tags as well. For example command.section in latex should be mapped to COMMAND_SECTION.
2024-03-27lua: cache loaded lexersFlorian Fischer1-0/+14
Caching lexers causes lexer tables to be constructed once and reused during each HIGHLIGHT event. Additionally it allows to modify the lexer used for syntax highlighting from Lua code. This is used for example for the syntax aware spellchecking performed by the vis-spellcheck plugin.
2024-03-27lua: update default plugins to work with scintillua 6.2Randy Palamar3-15/+4
vis{,-std}.lua: * replace removed _TOKENSTYLES with _TAGS * don't add default styles to the lexer. lexers no longer define their own styles filetype.lua: update path detection for scintillua 6.2
2024-03-27Get lexers from the subdirectory of directories on the path.Matěj Cepl1-1/+1
Based on the advice from the upstream maintainer of Scintillua (gh#orbitalquark/scintillua#87).
2024-03-27update lexers to orbitalquark/scintillua@b789ddeMatěj Cepl153-3773/+5374
Rather than cherry pick patches from after 6.2 we will just grab everything as is.
2024-03-25ui: refactor style handlingRandy Palamar6-49/+10
The old style handling had a lot edge cases where one of the colours or the attribute wouldn't get applied correctly. This commit adds a new style_set() method to the Ui which should be called instead of manually touching a cell's style. This also means that the Cell struct can be made opaque since all the handling is now done inside the ui-terminal files. With this it is now viable to combine the light and dark 16 colour themes into a single base-16 theme. This theme works very well with the Linux virtual console and will now be the default theme regardless of if the terminal supports 256 colours or not. This should address the common complaints about vis not respecting the users default terminal colours. fixes #1151: Theming is sometimes partially applied or ignored see #1103: terminal no longer has transparency/opacity see #1040: Transparent background and setting options by default
2024-03-25complete-word: restore mode to INSERT on exitRandy Palamar1-0/+2
2024-03-21Fix typosMax Schillinger1-1/+1
2024-03-14filetype.lua: add typst detectionDisonantemus1-0/+3
2024-03-10lua: filetype: add JSX and Typescript extensionsSam Nystrom1-1/+1
2024-03-08lua: complete-word: use internal regex for splitting wordsRandy Palamar1-2/+16
Internally vis supports unicode just fine. Instead of relying on external programs utilize vis' own features. Thanks to Florian Fischer for the correct regex!
2024-02-26Introduce new `modula2` and `modula3` file types.Matěj Cepl1-0/+6
There is the textadapt module for dealing with Modula 2 by the late Nikalus Wirth and its successor Modula 3 on https://github.com/paaguti/textadept-modula-lexers. If I want to just use it, I need to have these types recognized.
2024-01-23lua: fix deprecated name for change-256colorsMichiel van den Heuvel1-1/+1
2023-12-14complete-filename: include '{' in leading delimiter patternFlorian Fischer1-1/+1
This allows to complete file names in latex code (e.g. `\include{foo}`).
2023-12-05lua: drop redrawtime optionRandy Palamar1-15/+1
This hasn't worked in almost a year and even if it did it makes no sense. Based on my testing lexing takes a couple milliseconds at most. If it took 1 second (the default value for this option) vis would be completely unusable. If people want support for this it should be submitted upstream and vis will act based on the outcome of that. closes #1122: lexer no longer obeys redrawtime
2023-12-05lua: filetype: use alt_name field to alias to other lexersRandy Palamar1-4/+5
This obviously draws on the alt_name parameter used in scintillua but rather then passing it all the way up to the chain to lexers.load() we will just handle it in set_filetype(). 8a420ec accidently readded detection for the removed git-commit lexer which somehow went unnoticed until we readded caching for the new lexers. Instead of just removing it we can alias to the diff filetype and only set the colorcolumn for commit messages. This fixes the incorrect behaviour of adding a colorcolumn to diff and patch files and thus completely reverts 0cc684f.
2023-12-02Recognize also Python type stub files.Matěj Cepl1-1/+1
As defined in https://peps.python.org/pep-0484/#stub-files.
2023-11-03lua: refactor complete-filename pluginRandy Palamar1-33/+28
There are probably more things to simplify but at least this makes it easier to see what exactly is different between `<C-x><C-f>` and `<C-x><C-o>`. Some differences were removed: * whitespace in range is treated the same for both actions * empty range will expand to files in CWD for both actions closes #1146: Complete file name and file path swapped in doc
2023-10-05lua: filetype: fix fstab detectionRandy Palamar1-1/+1
same as last commit, `fstab.lua` shouldn't be matched as `fstab`
2023-10-05fix literal makefile name detectionFlorian Fischer1-1/+1
The current literal file name detection for GNUmakefile, makefile or Makefile could match anywhere in the file name. For example the file type of `makefile.lua` (the name of our makefile lexer) was detected as makefile. This is fixed by requiring the literal patterns to start and end with the string.
2023-09-27filetype.lua: add common *roff extensionsTom Schwindl1-1/+2
2023-09-20filetype: add psm1 and search for xml using mime typeMichiel van den Heuvel1-1/+2
2023-08-27lua: make sure lpeg is in fact optionalRandy Palamar2-0/+2
fixes #1119: lua: lpeg module isn't actually optional
2023-08-24Implementation of the non-blocking process running Lua APIxomachine1-0/+2
Rationale A modern text editor usually includes tools for helping user to avoid mistakes in texts. Those tools include spell checkers and programming language integrations. Though vis explicitly states that the full featured IDE is not a goal, implementing some of the tools might be achieved using its Lua API. Unfortunatelly the API misses the ability to start a process and to perform a communication with it without completely blocking the editor UI, which is crucial for any tool that performs background tracking of the inserted text (e. g. language servers). Implementation details New feature introduces new API method: communicate. The method start a new process and returns a handle to communicate with the process instantly. The patch inserts stderr and stdout file descriptors of the process to the pselect call of the main loop used for reading user input to track the process state without blocking the main loop until the process is finished. Any changes in the process state cause the iteration of the main loop and are being exposed to the Lua API as new event: PROCESS_RESPONSE.
2023-07-28Introduce new `mail` file type.Matěj Cepl1-0/+3
Aside from the possibility of future syntax highlighting (similar to https://github.com/vim/vim/blob/master/runtime/syntax/mail.vim in Vim). After objections on the list, I have decided not to include the conversion and user has to introduce it in their visrc.lua: vis.ftdetect.filetypes.mail.cmd = { "x/\r/ d" }
2023-05-24Fix luadoc to use ~= for statusAndrey Proskurin1-1/+1
2023-03-19lua: Make luacheck happyMatěj Cepl2-2/+2
2022-11-29lua/lexers: add gleam lexertynanbe1-0/+3
2022-11-29fix miscellaneous spelling mistakesNick Hanley2-4/+4
2022-11-29Resync the lexers with Scintilluaqiu-x155-12225/+9559
- Resync the lexers with Scintillua - Update the lexer readme - Update `zenburn` theme to fix some highlighting issues - lexers: redirect print function to vis:info() - Fix support for custom style names - As per error message "lexer.delimited_range() is deprecated, use lexer.range()". - Remove remaining `lexer.delimited_range()` call - Set syntax to `nil` if the file type has no matching lexer - Updated Go lexer for Go 1.18. - lexers/dsv: convert to new lexer format (cherry picked from commit 9edbc3cd9ea1d7142b1305840432a3d2739e755a) - lexers/gemini: disable legacy gemini lexer This reverts commit 468f9ee1b027a7ce98b1a249fa1af5888feeb989. It is in legacy format and of questionable quality. Ideally it should be contributed upstream from where it will eventually trickle down to us. - lexers/git-rebase: convert to new lexer format (cherry picked from commit 4000a4cc9ac4a4c2869dfae772b977a82aee8d8c) - lexers/strace: convert to new lexer format (cherry picked from commit e420451320d97eb164f5629c1bcfab0b595be29d) - lexers/typescript: add new upstream lexer revision 28e2b60 (cherry picked from commit 7326e6deecdaa75fa94ae9ebdb653f9f907b33f2) - use `package.searchpath` instead of a local `searchpath` function - Restore `filetype: support filetype detection via hashbang` - Remove redundant comment - Restore gemini lexer
2022-08-15Add filetype detection for SPEC file for RPM packages building.Matěj Cepl1-0/+3
2022-07-27filetype: actually match filenamekhwerz1-1/+1
2022-07-23simplify loop to sanitize filename and read extensionkhwerz1-27/+23
This uses gsub instead of find+sub. Also changes an ignoresuffix pattern from /~$/ to /~+$/ which should reduce iterations.
2022-06-26Add support for the Hare language file typeqiu-x1-0/+3
https://harelang.org