aboutsummaryrefslogtreecommitdiff
path: root/lua/vis-std.lua
AgeCommit message (Collapse)AuthorFilesLines
2017-07-14vis-lua: make selection first class primitives in Lua APIMarc André Tanner1-6/+6
2017-04-09vis: remove handling of \r\n line endingsMarc André Tanner1-4/+0
Use something like dos2unix(1) and unix2dos(1), if you need to edit such files.
2017-03-31lexers: sync with scintillua changeset 600 rev fdeca0b808bfMarc André Tanner1-1/+1
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.
2017-03-19Move :set horizon option implementaiton to luaMarc André Tanner1-1/+8
2017-03-19Move :set theme option implementation to luaMarc André Tanner1-2/+3
2017-03-19Move :set syntax option implementation to luaMarc André Tanner1-28/+7
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.
2017-03-14Restructure display codeMarc André Tanner1-0/+5
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.
2017-03-05lua: reimplement word and file name completion in luaMarc André Tanner1-0/+2
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).
2017-03-01vis-lua: make cursor.pos return nil if cursor position is invalidMarc André Tanner1-1/+3
It remains to be seen whether that is a good idea, but at least it will reveal possible bugs.
2017-02-28lua: reimplement number increment <C-a> and decrement <C-x>Marc André Tanner1-0/+1
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
2017-02-28lua: move digraph handling to separate 'plugin'Marc André Tanner1-22/+4
Load a standard plugins directly from vis-std.lua.
2017-02-22lua: expose vis:module_exist method, load lexer and lpeg module during startupMarc André Tanner1-19/+1
2017-01-31vis: add workaround for broken color handling in Terminal.appMarc André Tanner1-0/+3
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.
2017-01-27vis-digraph: add utility to handle digraphsjosuah1-0/+24
Hook it up via Lua to <C-k> in insert and replace mode. Close #460 #475
2016-12-14lua: make sure we always load a default themeMarc André Tanner1-0/+2
2016-12-14lua: improve error message when failing to load lpeg/lexer moduleMarc André Tanner1-1/+21
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.
2016-12-14lua: avoid errors if no theme is setMarc André Tanner1-7/+7
Close #429
2016-12-08vis-lua: move mode constants from vis.MODE_* to vis.modes.*Marc André Tanner1-6/+6
2016-12-08vis-lua: expose init event and use it to set default themeMarc André Tanner1-2/+0
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
2016-12-08lua: add simple event multiplexing mechanismMarc André Tanner1-8/+8
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.
2016-12-07lua: move non-core code out of vis.luaMarc André Tanner1-0/+119
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