aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-03-19Move :set horizon option implementaiton to luaMarc André Tanner8-20/+14
2017-03-19Move :set theme option implementation to luaMarc André Tanner6-37/+3
2017-03-19Move :set syntax option implementation to luaMarc André Tanner10-134/+55
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-19vis-lua: make vis.win return nil if no window exists yetMarc André Tanner1-2/+4
This is only the case during editor startup before the first window is created.
2017-03-19vis-lua: expose option_unregister functionMarc André Tanner1-0/+16
2017-03-19vis-lua: expose option_register functionMarc André Tanner1-0/+54
2017-03-19vis: add infrastructure to dynamically add :set optionsMarc André Tanner4-54/+127
2017-03-19vis: make sure g_ does not cross line boundariesMarc André Tanner1-8/+2
This also eliminates dead code as reported by CID 142387.
2017-03-19Fix errors and add ANS Forth 2012 keywordsstutonk1-17/+31
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.
2017-03-18Recognize additional Forth filetypestutonk1-1/+1
2017-03-17man: fix last mandoc linting warningMarc André Tanner1-1/+1
2017-03-17Merge branch 'master' of https://github.com/josuah/visMarc André Tanner1-377/+533
2017-03-17vis: fix selection background colorMarc André Tanner1-1/+1
2017-03-17ui: explicitly initialize cell matrix after resizeMarc André Tanner1-0/+1
2017-03-17ui: fix vt100 compilationMarc André Tanner1-10/+10
2017-03-16build: include dvtm terminfo entries in standalone buildsMarc André Tanner1-8/+10
2017-03-16ui: further cleanup display codeMarc André Tanner5-40/+23
2017-03-16man/vis.1: semantic macros, homogenize formatJosuah Demangeon⠠⠵1-377/+533
vis.1: added modes description
2017-03-16view: mark view as dirty even when resizing to same sizeMarc André Tanner1-1/+3
This makes sure that a successive view_update call returns true and as a result the status bar will be correctly redrawn.
2017-03-16vis: remove unnecessary status bar redrawMarc André Tanner1-2/+0
There is no longer a need to explicitly redraw the window status bar upon a mode change, it will happen anyway during the next UI update.
2017-03-16vis: remove special case when invalidating windowsMarc André Tanner1-2/+1
There is no need to treat the currently focused window specially.
2017-03-16ui: fix display artifacts in info lineMarc André Tanner1-10/+10
We need to clear the info line before displaying a new message, otherwise parts of the old cell contents might remain visible.
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