| Age | Commit message (Collapse) | Author | Files | Lines |
|
This is a parallel to https://github.com/martanne/vis/pull/1197
Signed-off-by: Matěj Cepl <mcepl@cepl.eu>
|
|
This closes https://github.com/martanne/vis/issues/1196.
|
|
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.
|
|
I already fixed the reason that this even existed (vis_event_emit
getting called at random times when the editor wasn't ready).
The option checking in main() was moved up because I noticed it
was in the wrong place while thinking about where to emit the INIT
event. There is no reason to do a bunch of useless work just to
print the version.
|
|
These are not seperate things and keeping them this way makes
gives this convoluted mess where both Wins and UiWins must have
linked lists to the other Wins and UiWins in the program despite
the fact that neither of them can exist in isolation.
This, like my previous cleanup commits, is part of a larger goal
of properly isolating the various subsystems in vis. Doing so is
required if we ever want to be able to have a vis-server and a
vis-client.
|
|
There is no reason why this isn't just a char *.
|
|
No need for this to be stored in every View since its just a never
modified cell with a space.
Also delete the cell_unused global since all it does is provide a
0 initialized Cell.
|
|
Just a version bump, no changes required.
|
|
Same as previous commit each window only has a single View. No
need for it to be stored elsewhere in memory.
|
|
There only exists a single Ui so there is no need to force a
pointer redirection for accessing it.
The Ui member was moved down in vis-core.h to punt around an issue
with the way lua checks for existing objects. It may show up again
as I flatten more structs.
|
|
|
|
|
|
|
|
|
|
|
|
This removes the function pointer interface which was adding
needless complexity and making it difficult to add new events. Now
if new events are only meant for lua they only need to be added to
the lua interface. This will also have a minor reduction in
runtime memory usage and produce a smaller binary.
The only runtime difference is that QUIT happens after all windows
have been closed and their files freed.
|
|
Going forward all tests should be submitted here directly.
|
|
|
|
|
|
|
|
|
|
Change the file displayed in a window by writing the new file name
to the window's file member.
This is useful to change the displayed file during events.
Using the edit command during an event caused by a pervious edit
command causes a double free.
|
|
|
|
fixes #1190: Missing mail.lua lexer
|
|
used by the following lexers: gemini, markdown and txt2tags to
highlight sections of code.
|
|
|
|
|
|
|
|
This allows for example to complete file names in markdown images.
E.g.:  (hint: variables in lua already handle this).
|
|
This will break all plugins which currently use Win.viewport.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
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
|
|
Silencing compiler's -Wparentheses warning.
|
|
|
|
|
|
|