| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
It is no longer possible to change the used syntax by assigning to the
`win.syntax = name` field, instead the function win:set_syntax(name)`
should be called.
The distinction between filetype and syntax lexer to use should probably
be clarified/cleaned up at some point.
|
|
Added all ANS Forth 2012 keywords as defined at
http://lars.nocrew.org/forth2012/core.html and removed keywords
that were not part of the standard. This necessitated rewriting
most of the Strings rules as well as removing some rules not
consistent with the standard. Only the s\" form should allow
escaping. The list of characters which may appear as part of a
keyword has also been expanded where appropriate.
Because '.' is a keyword as well as the first chatacter in a string
pattern, strings must now be given parsing precedence over keywords
to ensure proper highlighting.
A few errors were also fixed such as moving the true (which should
make keywords case-insensitive) within the word_match function's
closing paren. Parens have been removed from the operator list and
moved to their correct place as the delimiters for block comments.
|
|
|
|
|
|
Use pull instead of push based model for display code. Previously view.c
was calling into the ui frontend code, with the new scheme this switches
around: the necessary data is fetched by the ui as necessary.
The UI independent display code is moved out of view.c/ui-curses.c into
vis.c. The cell styles are now directly embedded into the Cell struct.
New UI styles are introduced for:
- status bar (focused / non-focused)
- info message
- window separator
- EOF symbol
You will have to update your color themes.
The terminal output code is further abstracted into a generic ui-terminal.c
part which keeps track of the whole in-memory cell matrix and #includes
ui-terminal-curses.c for the actual terminal output. This architecture
currently assumes that there are no overlapping windows. It will also
allow non-curses based terminal user interfaces.
|
|
Close #513
|
|
|
|
The file name completion does not yet behave the same way as
the previous C code because the completion prefix is currently
simply calculated using the `iw` text object which does not
handle common path elements (e.g. `.`, `/`, `~`, etc).
|
|
|
|
This is a Lua 5.2 feature supported by LuaJIT.
|
|
Operate on the next number to the right of the cursor,
for now the matches are not restricted to the current
line.
Based on a patch from Denis Warsow.
Close #509
|
|
|
|
It remains to be seen whether that is a good idea, but at least
it will reveal possible bugs.
|
|
Based on a patch by Denis Warsow.
Stuff which could probably be improved:
- in vim the cursor does not need to be on top of the number,
it suffices to be on the same line.
- decrementing beyond zero does not work for hexadecimal and
octal numbers, vim seems to wrap around in this case.
0x00000000 <C-x> becomes 0xffffffff
Close #506
|
|
Load a standard plugins directly from vis-std.lua.
|
|
Stuff which was left out / our local changes include:
- lexer.lua: different loading mechanism and style handling
- ansi_c.lua: for now we keep the separate token definitions
with references to the respective standards.
This should highlight file names after #include directives.
It will also treat simple, non-nested occurrences of
#if 0 ... #endif as a comment.
- pkgbuild.lua: the arch specific fields have been kept
- all scintilla $(style variables) have been replaced
|
|
|
|
|
|
|
|
This allows lines like
: ${FOO:="${bar}/baz"}
to be highlighted correctly.
|
|
This should fix #412 properly.
|
|
Commit 3570869c removed the lexers sub directory from the Lua search
path. Update the comment and readme to reflect this change.
|
|
Terminal.app sets $TERM=xterm-256color and ships a corresponding
terminfo description advocating that it is capable of color changes
to the 256 color palette when in fact it can not.
We introduce a new boolean option "change-256colors" which is
true by default but can be used to disable color changes. It is
automatically set if Terminal.app is detected using $TERM_PROGRAM.
This should fix display artifacts as described in #456.
|
|
Hook it up via Lua to <C-k> in insert and replace mode.
Close #460 #475
|
|
|
|
|
|
The most apparent change is that NULL is now also highlighted,
the themes might need to be tweaked a bit.
Based on an initial patch by Christian Hesse.
Close #307
|
|
Close #466
|
|
|
|
|
|
|
|
|
|
Differentiate between the case where the module is not found and
the case where an error occured while loading it.
This should make it easier to debug cases in which there is a
Lua version mismatch between vis and lpeg.
|
|
Close #429
|
|
This should fix isses with `crontab -e` editing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The init event is emitted immediately after `visrc.lua` has been sourced, but
before any other events have occured, in particular the command line arguments
have not yet been processed.
Close #422
|
|
The editor core calls into the functions registered in the `vis.events`
table which then multiplex the events to all registered event handlers.
The first handler which returns a non `nil` value terminates event
propagation.
|
|
The following structure is adapted:
* visrc.lua entry point for all Lua code
* vis.lua only implements the Lua part of the core API
* vis-std.lua registers standard event handlers (e.g. syntax highlighting,
statusbar handling, theme changes etc). It is sourced from vis.lua.
* plugins/* non essential editor functionality, needs to be explicitly
enabled by loading it from visrc.lua
|
|
Also remove the lexers sub directory from the Lua search path.
As a result we attempt to open fewer files during startup:
$ strace -e open -o log ./vis +q config.h && wc -l log
In order to avoid having to modifiy all lexers which `require('lexer')`
we instead place a symlink in the top level directory.
$ ./configure --disable-lua
$ rm -rf lua
Should result in a source tree with most lua specifc functionality
removed.
|