aboutsummaryrefslogtreecommitdiff
path: root/lua
AgeCommit message (Collapse)AuthorFilesLines
2025-01-04lexers: switch to tabs for indentationorbitalquark138-5242/+5238
2025-01-04Fix errors with folding in reST lexerorbitalquark1-2/+2
The lexer runs without error, but still does not really work.
2025-01-04Output lexer: match absolute program paths instead of just namesorbitalquark1-2/+4
2025-01-04Migrate Literate Coffeescript lexerorbitalquark1-9/+7
2025-01-04Allow unfinished Makefile function definitions to be highlightedorbitalquark1-2/+2
2025-01-04Update lexer LDocorbitalquark1-12/+12
2025-01-04Add 'org' directive to asm lexerorbitalquark1-2/+2
2025-01-04Increase the default LPeg stack sizeorbitalquark1-0/+2
It is not clear how large this value should be. It appears to be a function of grammar complexity. For example, a problematic HTML file requires a value of 1329 to work, but removing either the 'attribute' rule or an embedded lexer reduces the limit. However, identifying which files trigger a stack overflow is not trivial. It does not appear to depend on file size. For example, the problematic HTML file is 125K, but a non-problematic HTML file of 500K works.
2025-01-04Add C23 attributes to C lexerorbitalquark1-3/+17
Based on contribution from Samuel Marquis.
2025-01-04Improve performance of the text lexermitchell1-0/+2
Instead of highlighting non-whitespace characters one at a time, highlight whole ranges.
2025-01-02introduce new 'meson' file type and meson options filenamessewn1-1/+1
2024-11-14lua: fix table member reference in set_syntaxFlorian Fischer1-1/+1
Reported-By: aimixsaka <aimixsaka@gmail.com>
2024-10-26fix[filetype]: Recognize Cython source files as Python as wellMatěj Cepl1-1/+1
2024-10-26vis: introduce new `usfm` file typeMatěj Cepl1-0/+3
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.