| Age | Commit message (Collapse) | Author | Files | Lines |
|
Thanks to John Benediktsson.
|
|
Originally this was to prevent clashes with Textadept's language-specific key handling, but this is
no longer applicable.
|
|
|
|
The lexer runs without error, but still does not really work.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
Based on contribution from Samuel Marquis.
|
|
Instead of highlighting non-whitespace characters one at a time,
highlight whole ranges.
|
|
closes: #1223
see also: #929
|
|
|
|
Just a version bump, no changes required.
|
|
|
|
Currently there is now way for long running subprocesses like language
servers to gracefully shutdown.
When reacting to the QUIT event and invalidating the process handle
the subprocess will never be killed and destroyed because the
subprocesses are only checked during vis_run.
Collecting and killing subprocesses with invalid handles after the
QUIT event allows graceful shutdown.
|
|
The separation between reading from a subprocess and handling its
life time will be useful for future changes.
|
|
|
|
Co-authored-by: Matěj Cepl <mcepl@cepl.eu>
|
|
Reported-By: aimixsaka <aimixsaka@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
Support the old behavior of using vis:pipe(cmd, fullscreen) without
input.
Properly distinguish between vis:pipe(text, cmd, fullscreen) and
vis:pipe(file, range, cmd).
|
|
|
|
Currently only Text objects can be piped to external commands.
This is tedious if data not available in any file should be passed
to an external process (e.g. building options and passing them to
vis-menu).
This adds the option to pass a buffer to _vis_pipe and provides wrapper
functions for the original behavior and the new one.
|
|
|
|
|
|
|
|
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>
|
|
This combines:
Added 'done' literal to Hare lexer.
Initialize fold constants when Scintillua is used as a standalone library.
|
|
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.
|