summaryrefslogtreecommitdiff
path: root/lua
AgeCommit message (Collapse)Author
2023-12-05lua: drop redrawtime optionRandy Palamar
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 Palamar
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 Cepl
As defined in https://peps.python.org/pep-0484/#stub-files.
2023-11-03lua: refactor complete-filename pluginRandy Palamar
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 Palamar
same as last commit, `fstab.lua` shouldn't be matched as `fstab`
2023-10-05fix literal makefile name detectionFlorian Fischer
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 Schwindl
2023-09-20filetype: add psm1 and search for xml using mime typeMichiel van den Heuvel
2023-08-27lua: make sure lpeg is in fact optionalRandy Palamar
fixes #1119: lua: lpeg module isn't actually optional
2023-08-24Implementation of the non-blocking process running Lua APIxomachine
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 Cepl
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 Proskurin
2023-03-19lua: Make luacheck happyMatěj Cepl
2022-11-29lua/lexers: add gleam lexertynanbe
2022-11-29fix miscellaneous spelling mistakesNick Hanley
2022-11-29Resync the lexers with Scintilluaqiu-x
- 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 Cepl
2022-07-27filetype: actually match filenamekhwerz
2022-07-23simplify loop to sanitize filename and read extensionkhwerz
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-x
https://harelang.org
2022-06-15filetype: add .bashrc and .bash_profileEvan Gates
2022-06-15lexers: add .jsx and .tsx as a javascript (until they get their own)Joseph Turner
2022-06-15Makefile lexer now supports multiple targets in single definitionAki
2022-06-15filetype: support filetype detection via hashbangkhwerz
add 2 tables, hashbang and utility for vis.ftdetect.filetypes.<lang> fetch utility from /usr/bin/env args (mostly) Support -S for /usr/bin/env args, discard variables=value args
2022-05-29filetype: Set diff filetype for COMMIT_EDITMSG filesKarol Kosek
This filename is set when writing a commit message in git. If you run git-commit with an --verbose option or if you just have set it in your git-config, that shows you the patch diff on bottom of the file. Unfortunately, now every patch file will set colorcolumn, but overall I think this is better than having duplicated lexers.
2022-05-29filetype: Allow ".PKGBUILD" extension for PKGBUILDsMithicSpirit
Some AUR helpers use this (e.g. paru).
2022-05-29filetype: add .glif to xmlRomain Hervier
2022-05-29filetype.lua: Add "text/x-script.python" to pythonHaelwenn (lanodan) Monnier
2021-04-20filetype: Set "groovy" for JenkinsfileGalen Abell
2021-01-20Merge branch 'patch-1' of https://github.com/dallinjdahl/visMarc André Tanner
2021-01-19Adding .sv extension to verilog syntax highlighterdallinjdahl
2021-01-12filetype: Detect make shebang for "makefile".parazyd
This is useful when writing "debian/rules" files in packages.
2021-01-12filetype: Set "bash" for APKBUILD and .ebuild.parazyd
2021-01-06lexers/git-rebase: also highlight break commandMarc André Tanner
2021-01-06lexers/strace: improve comments, field names and syscall resultsMarc André Tanner
2020-12-27lua: fix luacheck warningsMarc André Tanner
These are either accidentally global or unused variables. In the file type pluging the mime type variable was wrongly scoped, meaning the text/plain settings applied to all otherwise unknown files.
2020-12-08lexers: fix bug in bash lexer for last here-docSilas
f4f0f5b allowed "<<-EOF" heredocs to be parsed correctly, but it introduced a bug that made the lexer fail when the beginning of a here-doc was the last string in a file (optionally followed only by blanks). In order to fix this, move everything regarding "delimiter" within the block that is executed only if "delimiter" is not nil.
2020-12-08Add gemini lexerHaelwenn (lanodan) Monnier
2020-12-08Merge branch 'master' of https://github.com/KaneRoot/visMarc André Tanner
2020-12-06Zig filetype entry.Karchnu
2020-12-06Adding Zig lexer.Karchnu
2020-12-01Merge branch 's-0-bash-heredoc' of https://github.com/silasdb/visMarc André Tanner
2020-11-27Heredocs with "-" can have spaces before closingSilas
If a here-doc start delimiter begins with "-", then spaces are allowed to come before the closing delimiter. This patch fixes what would otherwise be parsed incorrectly: <<-EOF .... EOF
2020-11-26lexers: add meson build file lexerFlorian Fischer
2020-11-13Merge branch 'master' of https://github.com/ccao001/visMarc André Tanner
2020-11-12lua: fix typo in lilypond file extensionCarla Cao
There is no .lily file but there is a .ily file in lilypond for stylesheets. They are like css for lilypond. See here: http://lilypond.org/doc/v2.18/Documentation/learning/style-sheets
2020-10-06filetype: and Node.js module extensionsBen Hormann
Node.js uses .mjs and .cjs extensions, both are regular javascript.
2020-09-20Merge branch 'ts' of https://github.com/erf/vis into masterMarc André Tanner
2020-09-20Merge branch 'routeros' of https://github.com/eworm-de/vis into masterMarc André Tanner
2020-09-20Merge branch 'filetype' of https://github.com/eworm-de/vis into masterMarc André Tanner