aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-12-29#111 command line prompt options defaultsErlend Fagerheim1-10/+14
2015-12-29lexer: add some meta data to newly added lexersMarc André Tanner4-3/+6
2015-12-29vis: fix default lua package.path and support $XDG_CONFIG_HOMEMarc André Tanner2-14/+23
The ordered list of paths for startup and lexer files is: - $VIS_PATH/{,lexers} - $XDG_CONFIG_HOME/vis/{,lexers} (defaulting to $HOME/.config/vis/{,lexers}) - /usr/local/share/vis/{,lexers} - /usr/share/vis/{,lexers} - package.path (standard lua search path)
2015-12-29Clean up build systemMarc André Tanner3-47/+41
2015-12-29view: improve cursor handling at end of fileMarc André Tanner1-1/+1
Holding down <Backspace> at the end of the file should not keep the cursor on the middle line of the window.
2015-12-29view: fix new line handling at the end of visible areaMarc André Tanner1-1/+1
The last new line is added to the cell matrix but failure is reported to indicate that there is no space left for further characters.
2015-12-29view: fix view [start,end] range calculationMarc André Tanner1-1/+1
This for example now correctly displays tab characters at the very start of the visible area.
2015-12-28Update READMEMarc André Tanner1-287/+272
2015-12-26vis: move file type detection to visrc.luaMarc André Tanner3-120/+128
2015-12-26vis: change Lua package.path to also include vis base directoryMarc André Tanner1-8/+12
2015-12-26vis: refactor Lua integrationMarc André Tanner13-273/+746
Lua support can now be disabled at compile time using: $ make CONFIG_LUA=0 This commit also adds an initial Lua API and provides a few default hooks. We now also require Lua >= 5.2 due to the uservalue constructs. In principle the same functionality could be implemented using function environments from Lua 5.1.
2015-12-26Initialize enum values to the public API onesSilvan Jegen1-2/+2
2015-12-20vis: fix forceful redraw <C-l>Marc André Tanner5-1/+13
2015-12-20Make normal mode 'S' behave like in VimSilvan Jegen1-1/+1
2015-12-03lexer: add lexer for FaustDavid B. Lamkins2-0/+58
Faust is a DSP (digital signal processing) programming language. See http://faust.grame.fr/ Closes #125
2015-12-02vis: make <C-w>w an alias for <C-w>jMarc André Tanner1-0/+1
2015-11-28vis: add namespace prefix for MARK_SELECTION_{START,END}Marc André Tanner4-12/+12
2015-11-28vis: do not switch to normal mode when leaving ? and / promptMarc André Tanner1-1/+1
2015-11-28view: remove ViewEvent infrastructureMarc André Tanner5-28/+5
The only used event handler was used to update the '< and '> marks which is now taken care of by the leave handler of the visual modes.
2015-11-28vis: improve switching to prompt modeMarc André Tanner4-14/+26
A call to vis_prompt_show will now automatically switch to prompt mode. Within the prompt leave/enter handlers the focused window (vis->win) will still point to the document window not the one referring to the prompt. The selection marks '< and '> are now only updated when a visual mode is left.
2015-11-28vis: implement = operator in terms of fmt(1)Marc André Tanner2-0/+7
2015-11-28vis: add cmd argument to VIS_OP_FILTERMarc André Tanner4-8/+34
2015-11-28view: preserve column position when moving across linesMarc André Tanner1-8/+18
2015-11-28view: remove special treatment of tabs in cell matrixMarc André Tanner2-10/+3
2015-11-27vis: improve cursor alignment command <C-a>Marc André Tanner3-6/+22
2015-11-27vis: improve creation of new cursors on line above/belowMarc André Tanner1-6/+6
Use view cell matrix data to create the cursors on more appropriate positions. Closes #108
2015-11-27vis: implement filter operator !Marc André Tanner6-5/+33
It currently works by switching to visual mode and then opening the command prompt with a default range which refers to the currently active selection.
2015-11-27vis: change semantics of operator implementation return valueMarc André Tanner1-3/+3
The return value of operator implementations denoting the new cursor position is interpreted in the following way: - EPOS dispose the cursor - [0, text_size] place the cursor accordingly - otherwise i.e. > text_size keep the cursor position unchanged The newly introduced last case is useful for operators which are called from visual mode, but do not want to change the current selection.
2015-11-27vis: close correct file descriptor upon failure in filter commandMarc André Tanner1-2/+2
2015-11-23vis: fix compiler warnings related to `ga` implementationMarc André Tanner1-1/+2
2015-11-23vis: use file open dialog for all directoriesMarc André Tanner2-2/+7
2015-11-23vis: implement gaMarc André Tanner2-0/+32
2015-11-23Cast argument to ctype.h is* functions to unsigned charMarc André Tanner2-37/+37
The signedness of char is implemenation defined, calling the is* type of functions with negative values leads to undefined behaviour.
2015-11-23vis: improve replacement of combining charactersMarc André Tanner3-6/+32
2015-11-23view: fix cell placement of combining charactersMarc André Tanner2-9/+20
They now belong to the cell holding the corresponding regular (i.e. non-combining) character. This also means that at least in theory a cell could hold arbitrary amounts of data, in practice it is limited to 16 bytes.
2015-11-23text: introduce functions to iterate over graphemesMarc André Tanner3-7/+65
They currently consider any character for which wcwidth(3) return 0 as a combining character.
2015-11-20buffer: tweak memory allocation strategyMarc André Tanner1-4/+1
Do not simply double the requested size. Instead take the maximum of - the requested size - double the current buffer size This will use less memory for large register operations (e.g. deleting the whole file).
2015-11-20text: get modification time after replacing file content in placeMarc André Tanner1-0/+2
At the start of text_save_range we stat(2) the file to check whether we have currently mmap(2)-ed it. Then we proceed to write the new file content which changes modification time. Hence we have to stat(2) again to retrieve it. This should fix spurious warnings about file changes outside the editor when editing e.g. symlinked files.
2015-11-19vis: improve <C-p> in visual modeMarc André Tanner1-0/+1
Make sure that the (new) primary cursor is visible after removing the last matched selection.
2015-11-19vis: fix <C-n> in visual mode for partial matchesMarc André Tanner1-1/+1
We need to properly skip partial matches (i.e. not whole words). Closes #118
2015-11-19buffer: add some comments to clarify allocation strategyMarc André Tanner2-4/+9
Closes #116
2015-11-17vis: put in visual mode should replace the current selectionMarc André Tanner1-2/+8
There are some combinations (e.g. line wise selection / character wise register content) which should probably be improved further. Also since vis currently neither supports the numbered registers "0 - "9 nor the small delete register "- the deleted text is not stored in any register. Notice that we can't call op_delete in the implementation because it would overwrite the register content we want to paste. Closes #113
2015-11-17ui: improve fallback code in case of unknown termMarc André Tanner2-2/+2
If the current $TERM value indicates 256 color support fall back to xterm-256color otherwise try xterm. Improves upon 43605fded457cec954600b688d54242341eedc7c Closes #105
2015-11-14view: increase range to consider for syntax highlightingDavid B. Lamkins1-1/+1
Increase the number of bytes to consider for syntax highligthing before the visisble area. This should improve the handling of long block comments. Closes #110
2015-11-13lexer: improve pure lexerDavid B. Lamkins1-11/+18
Closes #109
2015-11-11ui: fall back to xterm-256color if term initialization failsMarc André Tanner1-2/+5
This improves behaviour for unknwown/unrecognized terminals as is the case for self contained binaries built with "make standalone" which only includes a fixed set of terminal descriptions. Of course the terminal capabilities won't match, which will likely cause some display issues.
2015-11-11lexer: add lexer for pureDavid B. Lamkins2-0/+55
Ref: http://purelang.bitbucket.org/ Closes #106
2015-11-10build: do not clutter dependency/install with manual pagesMarc André Tanner1-1/+1
2015-11-10Update .gitignoreMarc André Tanner1-2/+2
Closes #104
2015-11-10lexer: fix some more color specificationsMarc André Tanner2-3/+3