| Age | Commit message (Collapse) | Author | Files | Lines |
|
Fix #695
|
|
The color settings are currently stored in the `vis.lexers` table,
make sure it is not nil even when loading the lexer module (or one
of its dependencies e.g. lpeg) failed.
|
|
|
|
Use something like dos2unix(1) and unix2dos(1), if you
need to edit such files.
|
|
I think the default value for the cache argument to the lexer load
function should be true, not false. Optimize for the common case.
This makes the API ugly/harder to use. But for now we follow upstream.
|
|
|
|
|
|
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.
|
|
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.
|
|
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).
|
|
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.
|
|
|
|
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
|
|
|
|
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
|
|
|
|
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
|