aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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-29lua: Serve viewport dimensions in viewport tableRudy Dellomas III1-3/+11
These values are useful for calculating terminal positions.
2024-04-29Emit an event (ui_draw) immediately before drawing the screenRudy Dellomas III8-1/+24
This allows better control over styling, as well as potential for entirely new UI elements implemented entirely using the Lua API.
2024-04-29Add Lua function to Win for directly editing cell styling by positionRudy Dellomas III3-0/+43
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 III2-4/+17
This will break all plugins which currently use Win.viewport.
2024-04-21vis-cmd: silence gcc warning & remove strlen callMatěj Cepl1-1/+2
2024-04-21ci: fix macOS runnerRandy Palamar1-7/+4
Apparently Github changed the permissions on /usr/local in the default image so now we need to use `sudo` for luarocks to be able to install packages. While I'm here: update the checkout dependency and use macOS-latest image instead of multiple old images.
2024-04-21Disable reverse with "notreverse" in style definitionsRudy Dellomas III1-0/+2
2024-04-21Add a Lua constant for UI_STYLE_LEXER_MAXRudy Dellomas III1-0/+1
Currently, there's no mechanism for defining user styles without risk of collision with default lexer and theme settings. Very few lexers use more than 10, let alone all 64 of the allowed styles, so UI_STYLE_LEXER_MAX - (no. of user defined styles) allows for a reasonably large number of user-defined styles before collision becomes a problem.
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 Palamar13-126/+89
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-25Add parentheses around '&&' within '||'.Matěj Cepl1-2/+2
Silencing compiler's -Wparentheses warning.
2024-03-25complete-word: restore mode to INSERT on exitRandy Palamar1-0/+2
2024-03-21Fix typosMax Schillinger2-3/+3
2024-03-14filetype.lua: add typst detectionDisonantemus1-0/+3
2024-03-10lua: filetype: add JSX and Typescript extensionsSam Nystrom1-1/+1
2024-03-09Support selection of primary or regular clipboard (wayclip)Matěj Cepl1-2/+10
wayclip has since commit https://git.sr.ht/~noocsharp/wayclip/commit/594776c24862 support for the choice between using primary or regular clipboard. Which means we can put its support on the same level as other clipboard utilities.
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-02-06Replace use of tr(1) with awk(1).Matěj Cepl1-2/+2
Unfortunately, GNU tr(1) is not Unicode-aware, so we should use awk(1) instead. See https://www.pixelbeat.org/docs/coreutils_i18n/ for more on the situation of the support of Unicode in coreutils. Apparently, awk is for this better than sed, because Unicode is consistenly provided on all major versions of awk. Signed-off-by: Matěj Cepl <mcepl@cepl.eu> Supersedes: https://lists.sr.ht/~martanne/devel/patches/49113 Supersedes: https://lists.sr.ht/~martanne/devel/patches/49114
2024-02-05use correct apostrophe in error messageErlend Lind Madsen1-1/+1
2024-02-01allow disabling of statusbarsewn3-0/+18
2024-01-23fix bug report templateRandy Palamar1-1/+1
Apparently `labels:` should be an empty list and not an empty string if you want no default labels; my bad.
2024-01-23add github issue templatesSneethe3-0/+57
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-10build: update alpine in docker build to version 3.19Christian Hesse1-1/+1
Just a version bump, no changes required.
2023-12-05lua: drop redrawtime optionRandy Palamar2-18/+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-02Add ansi escaping values and theming keyword for dimmed textHaz3-0/+7
This adds `[not]dim` to the set of accepted theme keywords
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-23luadoc: fix broken link and add links between vis/win.optionsRandy Palamar1-1/+3
2023-11-18destroy the correct subprocessFlorian Fischer1-6/+8
When a new subprocess is created during an EXIT event of another subprocess new_process_in_pool will update the process_pool pointer. Since we use a pointer to a pointer for iterating all processes during vis_process_tick its value will be different before executing the event and after creating the new subprocess. This causes the updated pointer to be erroneously destroyed and leaves the Process of the reaped child behind which causes consecutive waitpid calls to fail with ECHILD. This is fixed by destroying the proper current subprocess and updating the iteration pointer accordingly. Fixes: 0b015320382e74fcb385a46a81304f588ed27f77
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-23sam: reject invalid ranges for cmd_extract ("x"/"y")Randy Palamar1-1/+1
fixes #1152: `:2x/foo/<cr>` in a file with only one line makes vis get stuck in an infinite loop
2023-10-17apply configured foreground to matching pairRandy Palamar1-0/+1
fixes #1151 (part 2): Set foreground color for matching pair
2023-10-17apply configured foreground to selectionsRandy Palamar1-0/+1
fixes #1151: Set foreground color for visual selection
2023-10-15view: skip empty cells before applying a styleFlorian Fischer1-0/+4
The view_style function is used to apply styles to ranges of text in a view. It approaches the starting position where the style should be applied by iterating the columns in the appropriate line using this while loop: while (pos < start && col < width) pos += line->cells[col++].len; The while loop will stop at the last character before the range where the style should be applied. This works fine until we encounter "empty" cells between the last cell containing an actual character and the first cell to be styled. This can happen if the last character before the range to style is '\t' which gets expanded with empty cells by vis according to the tabwidth option. Those empty cells get erroneously styled as well. This is fixed by skipping all empty cells encountered before the range to style. fixes #1147: `win:style` styles more terminal cells than expected
2023-10-10vis_pipe: correctly return non-zero exit statusRandy Palamar1-1/+4
according to POSIX wait(3p) the return status needs to be checked and the macro WEXITSTATUS(stat_val) should be used to get the actual return value on a normal exit. POSIX doesn't specify the value of stat_val on abnormal exit and thus vis_pipe() should just return -1 as it does for other errors closes #1130: vis:pipe returns wrong exit status (when non-zero) Thanks @pippi1otta for the report and suggestion.
2023-10-10ci: test: update submoduleRandy Palamar1-22/+13
Sourcehut recurses into submodules when cloning the repo for building so unlike github it uses the version of `test` that is checked into the repo. This is better behaviour but does mean that the submodule needs to be updated.
2023-10-10revert c22b2c2 & 364d212Randy Palamar2-3/+1
aka: "check for EOF before unsetting row, col & line cache in view_coord_get" "fix bug where visual-line selections after view were considered visible" These commits have created more bugs then they fix. Reverting them reintroduces #1074: Slave selection strangled by view cliff. Fixes #1143: Disappearing selection
2023-10-10disable selections/out-of-view for nowRandy Palamar1-0/+0
this is a valid test however the upstream fix is incorrect and needs to be reverted.
2023-10-05lua: filetype: fix fstab detectionRandy Palamar1-1/+1
same as last commit, `fstab.lua` shouldn't be matched as `fstab`