aboutsummaryrefslogtreecommitdiff
path: root/vis-lua.c
AgeCommit message (Collapse)AuthorFilesLines
2016-05-26vis: use normalized absolute file names as internal representationMarc André Tanner1-2/+2
Try to display a shorthand version in the status bar, this currently only works for files below the current working directory of the editor process.
2016-05-24vis-lua: cleanup Lua status bar display codeMarc André Tanner1-1/+10
2016-05-24vis: cleanup C status bar display codeMarc André Tanner1-18/+69
2016-05-24vis-lua: improve error handling when loading visrc.luaMarc André Tanner1-3/+25
If loading fails because visrc.lua is not found, then simply display an information message. However if there is a syntax error, display a complete stack trace. This fixes commit 352155889aad57f8cb6d20317ffef81073fb6533.
2016-05-24vis-lua: add debug infrastructure to trace object lifetimeMarc André Tanner1-16/+108
Output will be printed to stdout and can be enabled by: $ make debug CFLAGS=-DDEBUG_LUA=1 $ ./vis > log This commit also tries to make object creation slightly more robust.
2016-05-22vis: only display mode in status bar of active windowMarc André Tanner1-2/+3
2016-05-22vis-lua: introduce light references for short lived objectsMarc André Tanner1-7/+20
Light object references are used to type check, but contrary to full object references they are not stored in the Lua registry. This means that they are not bound to the object lifetime of their corresponding C object. Hence such objects must not be used after they have been free(3)-ed by the editor core. Such lightweight object references are always re-created, thus custom properties will not be stored across subsequent accesses. For now light object references are only used for cursor objects. This should ix the crashes introduced by the recent changes which make heavy use of the Lua API.
2016-05-22vis-lua: fall back to C status bar handling if the Lua implementation is not ↵Marc André Tanner1-17/+20
available
2016-05-22vis-lua: do not report errors recursivelyMarc André Tanner1-0/+4
Displaying an error might create a new window which in turn can trigger new events (all other windows are resized+redrawn) which might again cause errors. There is still no sane way to exit the editor in this case, but at least the error messages should be readable.
2016-05-22vis: refactor status line handlingMarc André Tanner1-0/+52
Make window status bar content configurable via Lua.
2016-05-22vis-lua: add win:status functionMarc André Tanner1-0/+10
2016-05-22vis-lua: add vis.recording propertyMarc André Tanner1-0/+4
2016-05-22vis-lua: add window.{width, height} read only propertiesMarc André Tanner1-0/+10
2016-05-22vis-lua: add vis.VERSION propertyMarc André Tanner1-0/+3
It is a string in `git describe` format, as reporte by `vis -v`.
2016-05-22vis: consider :set horizon setting when syntax highlightingMarc André Tanner1-3/+4
2016-05-22vis: move syntax highlighting to pure Lua codeMarc André Tanner1-2/+32
2016-05-22vis-lua: add window.viewport rangeMarc André Tanner1-0/+7
2016-05-22vis-lua: add bindings for new view style functionsMarc André Tanner1-0/+44
2016-05-22vis-lua: cleanup vis.MODE_* constants handlingMarc André Tanner1-30/+19
2016-05-18vis-lua: fail more silently when visrc.lua can not be loadedMarc André Tanner1-1/+2
This prevents opening a separate window to display a full stack trace and improves usage of a vis binary compiled with lua support on a system without the necessary *.lua files.
2016-05-14vis-lua: add win:map function for window local key mappingsMarc André Tanner1-8/+27
Based on a patch by Josh Wainwright. Close #306
2016-05-13vis: clean up key mapping implementationMarc André Tanner1-15/+1
2016-05-13vis-lua: add more restrictive checks for position argumentsMarc André Tanner1-11/+17
Negative and fractional arguments are rejected.
2016-05-04vis-lua: add new theme_change event hookMarc André Tanner1-17/+9
2016-05-04vis-lua: simplify event callback codeMarc André Tanner1-20/+16
2016-05-04Fixed bug, use $XDG_CONFIG_HOME correctlyAdrian Room1-1/+2
Vis should look for files in `$XDG_CONFIG_HOME/vis`, not just `$XDG_CONFIG_HOME` directly.
2016-05-01vis-lua: let vis:map override existing mappingsMarc André Tanner1-0/+14
It now also unmaps all previously mapped prefixes of the new mapping. See 0ef138085f885d4576a8e53d079e1f00f80799bf and #271.
2016-05-01vis-lua: expose vis:feedkeys APIMarc André Tanner1-0/+10
2016-04-27vis-lua: fix vis.win to always return currently focused windowMarc André Tanner1-1/+1
2016-04-26vis-lua: add file.modified propertyMarc André Tanner1-0/+5
2016-04-23vis: display lua search paths in :help outputMarc André Tanner1-1/+12
2016-04-21vis-lua: allow selection modification by assigning to cursor.selectionMarc André Tanner1-0/+9
2016-04-21vis-lua: implement vis:message(msg)Marc André Tanner1-6/+16
2016-04-21vis-lua: also accept a range as argument for file:delete and file:contentMarc André Tanner1-7/+23
2016-04-21vis-lua: add vis:command_register to map a Lua function to a :-commandMarc André Tanner1-0/+35
The following registers `:foo` as a command which prints a few things to stdout: vis:command_register("foo", function(argv, force, win, cursor, range) for i,arg in ipairs(argv) do print(i..": "..arg) end print("was command forced with ! "..(force and "yes" or "no")) print(win.file.name) print(cursor.pos) print(range ~= nil and ('['..range.start..', '..range.finish..']') or "invalid range") return true; end)
2016-04-21vis-lua: add utility function to push a Filerange onto the Lua stackMarc André Tanner1-11/+15
2016-04-20vis-lua: load files from directory specified with ./configure --sharedir=DIRMarc André Tanner1-4/+6
Close #231
2016-04-20vis-lua: trigger start event after ui has been initializedMarc André Tanner1-1/+8
2016-04-18vis-lua: strip relative paths from package.{path,cpath}Marc André Tanner1-0/+41
Allthough the default paths should take precedence we do not want to execute arbitrary code from the current working directory.
2016-04-18vis-lua: cleanup lua package.path handlingMarc André Tanner1-43/+29
2016-04-16vis-lua: add vis.mode propertyMarc André Tanner1-0/+5
2016-04-16vis-lua: add cursor.selection propertyMarc André Tanner1-0/+16
2016-04-16vis-lua: add window.cursors[] arrayMarc André Tanner1-0/+38
2016-04-16vis-lua: add window.cursors_iterator functionMarc André Tanner1-0/+24
2016-04-16vis-lua: add cursor.number propertyMarc André Tanner1-0/+5
2016-04-15vis-lua: change cursor object implementationMarc André Tanner1-20/+13
2016-04-15vis-lua: add file.size to return file size in bytesMarc André Tanner1-0/+5
2016-04-15vis-lua: add file.newlines to detect type of new linesMarc André Tanner1-0/+16
2016-03-21vis: also lookup Lua support files relative to the binary locationMarc André Tanner1-0/+17
This simplifies deployment of vis on remote systems without root access. The idea is to extract a statically linked binary together with the lexer syntax files into some directory, adjust $PATH to include it and have everything just work. For now this uses /proc/self/exe and thus only works on Linux based systems.
2016-03-12vis-lua: allow to set window.syntax = nilMarc André Tanner1-1/+3
This will load the default lua color theme.