| Age | Commit message (Collapse) | Author | Files | Lines |
|
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).
|
|
This will break all plugins which currently use Win.viewport.
|
|
|
|
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.
|
|
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.
|
|
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
|
|
Based on the advice from the upstream maintainer of Scintillua
(gh#orbitalquark/scintillua#87).
|
|
Rather than cherry pick patches from after 6.2 we will just grab
everything as is.
|
|
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
|
|
|
|
|
|
|
|
|
|
Internally vis supports unicode just fine. Instead of relying on
external programs utilize vis' own features.
Thanks to Florian Fischer for the correct regex!
|
|
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.
|
|
|
|
This allows to complete file names in latex code (e.g. `\include{foo}`).
|
|
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
|
|
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.
|
|
As defined in https://peps.python.org/pep-0484/#stub-files.
|
|
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
|
|
same as last commit, `fstab.lua` shouldn't be matched as `fstab`
|
|
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.
|
|
|
|
|
|
fixes #1119: lua: lpeg module isn't actually optional
|
|
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.
|
|
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" }
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
This uses gsub instead of find+sub. Also changes an ignoresuffix
pattern from /~$/ to /~+$/ which should reduce iterations.
|
|
https://harelang.org
|
|
|
|
|
|
|
|
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
|
|
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.
|
|
Some AUR helpers use this (e.g. paru).
|
|
|
|
|
|
|
|
|
|
|
|
This is useful when writing "debian/rules" files in packages.
|
|
|