aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-03-15test: updateMarc André Tanner1-5/+5
2017-03-15build: clarify lpeg related configure optionMarc André Tanner1-4/+4
2017-03-15Fix README markdown and improve contribution sectionMarc André Tanner1-11/+27
2017-03-15ui: fix compiler warningMarc André Tanner2-2/+2
2017-03-15Make Vis' Solarized theme match the official Vim one.Tim Allen1-2/+2
2017-03-15ui: add some bound checksMarc André Tanner1-0/+4
2017-03-15travis: add non-curses builds to test matrixMarc André Tanner1-0/+6
This ensures that the configuration at least compiles.
2017-03-14Add experimental raw vt100 UI backendMarc André Tanner8-31/+273
The intention of this is not to slowly reimplement curses but to provide a minimal working terminal UI backend which can also be used for debugging, fuzzing and in environments where curses is not available. Currently no attempt is made to optimize terminal output. The amount of flickering will depend on the smartness of your terminal emulator.
2017-03-14Restructure display codeMarc André Tanner18-1122/+1306
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-07standalone: use stronger hashing algorithm for source verificationChristian Hesse1-16/+16
2017-03-07lua: add filetype detection for Plan9 rc and derivativesDavid B. Lamkins1-0/+3
Close #513
2017-03-07travis: add TRE regex backend to test matrix of travis-ci linux buildsMarc André Tanner1-0/+4
The libtre5 package got approved / white listed for container builds in: travis-ci/apt-package-whitelist#4023 travis-ci/apt-package-whitelist#4024
2017-03-07vis-lua: remove vis:open methodMarc André Tanner1-20/+0
The same functionality is available using vis:command and :open. If we decide a distinct API is useful, we should probably also provide a corresponding close method.
2017-03-07vis: remove now unused #defineMarc André Tanner1-6/+0
2017-03-05text-object: remove C implementation of file name text objectMarc André Tanner2-30/+0
This is no longer needed now that the completion logic was moved to Lua.
2017-03-05lua: fix more luacheck warningsMarc André Tanner3-5/+17
2017-03-05lua: reimplement word and file name completion in luaMarc André Tanner3-0/+47
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-05vis-lua: expose vis:pipe functionMarc André Tanner1-0/+35
2017-03-05vis: add file argument to vis_pipe_collectMarc André Tanner2-3/+3
2017-03-05vis: remove word and file name completion from editor coreMarc André Tanner2-79/+0
2017-03-04test: updateMarc André Tanner1-5/+5
2017-03-04vis: process command line options when reading from stdinMarc André Tanner1-6/+7
Previously the following had no effect: $ echo foo | vis +"set syntax markdown" - Fix #512
2017-03-03travis: fix luarocks invocationMarc André Tanner1-1/+2
It can only install one package at a time.
2017-03-03build: add luacheck make targetMarc André Tanner2-1/+9
2017-03-03travis: try to run busted based test on macOSMarc André Tanner2-6/+6
2017-03-03vis-lua: add vis:exit functionMarc André Tanner2-0/+24
2017-03-02lua: fix luacheck warnings in pluginsMarc André Tanner1-3/+0
2017-03-02vis-lua: fix bogus URL in LDoc commentMarc André Tanner1-1/+1
2017-03-02vis: remove :bdelete commandMarc André Tanner3-24/+0
It does not really fit into the style of the rest of the command language. Eventually we should be able to express this kind of thing using a looping construct based on the `X` and `Y` commands.
2017-03-02lua: use goto label to mimic continue statementMarc André Tanner1-41/+36
This is a Lua 5.2 feature supported by LuaJIT.
2017-03-02lua: let number increment/decrement handle next numberMarc André Tanner1-37/+47
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
2017-03-01vis-lua: fix invalid LDoc tagMarc André Tanner1-1/+1
2017-03-01lua: return nil for invalid text objectsMarc André Tanner1-2/+2
2017-03-01vis-lua: make cursor.pos return nil if cursor position is invalidMarc André Tanner2-8/+15
It remains to be seen whether that is a good idea, but at least it will reveal possible bugs.
2017-03-01vis-lua: document cursor behaviorMarc André Tanner1-0/+50
2017-02-28view: fix display when inserting text at start of fileMarc André Tanner1-2/+9
Before cebb24b36ac45cc7c6912481cacd29ef9d5c68b9 a mark at the start of the file was treated specially to always return position zero. Since this was no longer the case the following would insert text before the visible area: <PageDown><PageUp><PageUp>ifoo
2017-02-28vis: improve cursor positioning after shift operatorsMarc André Tanner1-11/+17
There are still issues with left shifts starting from characterwise visual mode when the selection boundaries are deleted. For now this is considered a pilot error. Fix #508
2017-02-28lua: reimplement number increment <C-a> and decrement <C-x>Marc André Tanner2-0/+55
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é Tanner3-24/+27
Load a standard plugins directly from vis-std.lua.
2017-02-28vis-lua: correctly treat return value of input event handlerMarc André Tanner1-1/+1
Returning true from the event handler, indicating that the keys were consumed, should now prevent insertion as mentioned in the documentation. vis.events.subscribe(vis.events.INPUT, function(key) if key == ' ' then -- do something fancy here return true end end)
2017-02-28vis-lua: fix wrong return value when setting vis.countMarc André Tanner1-1/+1
2017-02-28Merge branch 'master' of https://github.com/arames/visMarc André Tanner1-0/+5
2017-02-27vis-lua: make vis:win assignableAlexandre Rames1-0/+5
2017-02-27Honor user's umask when saving filesMichael Forney1-2/+2
If the user wants new files to be created as 600, they will have set their umask to 077 in their environment. vis shouldn't restrict this further than the user has configured.
2017-02-27Remove unnecessary umask change in text_save_begin_inplaceMichael Forney1-2/+0
POSIX says that The mkstemp() function shall use the resulting pathname to create the file, and obtain a file descriptor for it, as if by a call to: open(pathname, O_RDWR|O_CREAT|O_EXCL, S_IRUSR|S_IWUSR) So this umask change didn't do anything in practice, unless the original umask was more restrictive than 0177.
2017-02-27Fix a couple typosMichael Forney1-1/+1
2017-02-27vis: allow useage of file dialog for :read commandMarc André Tanner2-13/+18
Fix #505
2017-02-27view: reposition cursor after restoring selectionMarc André Tanner1-0/+1
This should fix selection changes after shift operators in visual mode. The problem was that the NOP motion which is executed when switching back into visual-line mode destroys the selection if the cursor is not already placed on a selection boundary. Fix #501
2017-02-25test: updateMarc André Tanner1-11/+5
2017-02-25lexers: sync with scintillua changeset 594 rev 6e29a8d2a783Marc André Tanner26-60/+71
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