summaryrefslogtreecommitdiff
path: root/main.c
AgeCommit message (Collapse)Author
2016-05-22vis: refactor status line handlingMarc André Tanner
Make window status bar content configurable via Lua.
2016-05-22vis: move syntax highlighting to pure Lua codeMarc André Tanner
2016-05-22vis: always start vis-menu with -b flagMarc André Tanner
2016-05-19vis: tweak completion commandsMarc André Tanner
Change tr command to split words, this won't properly work with Unicode but should at least avoid unwanted non-word symbols and be POSIX conformant. A possible alternative would be to use grep -o -E '\w+' while the -o option is not part of POSIX it seems to be mostly supported. However the \w regex syntax might not be supported. Force ls(1) output to be linewise and surpress the same prefix. Change sed invocation to only replace proper prefixes.
2016-05-19vis: fix behavior of complete-word on BSDMichel Martens
2016-05-18vis: add completion for file names in current directory via <C-x><C-f>Silvan Jegen
2016-05-18vis: add #define for VIS_MENUMarc André Tanner
2016-05-18vis: add completion for current file contents via <C-n> in insert modeMarc André Tanner
Based on a patch by Silvan Jegen. Close #128, close #277
2016-05-13vis: clean up key mapping implementationMarc André Tanner
2016-05-10Revert "vis: clean up interaction between vis and ui"Marc André Tanner
This caused issues on OpenBSD where it crashed the terminal. Also on Mac OS X suspend via ^Z (Ctrl-Z) was missing a \r i.e. the shell prompt was not properly redrawn. While in principle user interfaces should not have to depend on libtermkey, in practice this won't be an issue unless we are adding a non-terminal based UI (which won't happen anytime soon). This reverts commit 8f92b98848f9366e78c7aa824615bade83971513. Close #311
2016-05-08Fix autoindent when using ORichard Burke
2016-05-06Fix typo `cursor-sceenline-up` -> `cursor-screenline-up`Josh Wainwright
2016-05-04vis: clean up interaction between vis and uiMarc André Tanner
A concrete user interface implementation should not have to depend on libtermkey. Therefore the vis core now uses an independent instance to parse keys.
2016-05-01vis: further cleanup input handling, introduce vis_keys_feed APIMarc André Tanner
2016-05-01vis: cleanup input handling, improve macro replayMarc André Tanner
2016-04-27vis: do not advance cursor to next line when appending with `a`Marc André Tanner
Close #295
2016-04-20vis-lua: trigger start event after ui has been initializedMarc André Tanner
2016-04-19vis: add actions for prev/next character motions within the same lineMarc André Tanner
For now they are not mapped to any key by default, but can be enabled with: :map! normal l <cursor-line-char-next> :map! normal h <cursor-line-char-prev>
2016-04-12Add "[(" and "])" motions for jumping to a parenthese pair's start/endRob Pilling
2016-04-12Add "[{" and "]}" motions to jump to a block's start/endRob Pilling
2016-04-11main.c: correct name of function, cursor>windowJosh Wainwright
"open-file-under-cursor-new-cursor" should be "open-file-under-cursor-new-window"
2016-04-05vis: fix coverity scan warningsMarc André Tanner
2016-04-05vis: let <C-l> remove all but the count cursor columnMarc André Tanner
2016-04-04vis: let <C-c> remove the count cursor columnMarc André Tanner
2016-04-04vis: fix selection column rotationMarc André Tanner
2016-04-04vis: in visual mode allow navigation among cursors using <C-j> and <C-k>Marc André Tanner
2016-04-03sam: unify vi(m) and sam command lineMarc André Tanner
The following vi commands have been dropped: - saveas - xit - ! The following commands are only recognized in their short form: - e (edit) - q (quit) - s (substitute) - w (write) - r (read)
2016-04-03vis: in visual mode let \ trim selectionsMarc André Tanner
2016-03-30vis: implement selection rotationMarc André Tanner
In visual mode + and - will rotate the selection count times to the right or left respectively. If there exists a line containing multiple selections then the rotation happens within each line. Otherwise if each line contains at most one selection the rotation is performed among all existing selections.
2016-03-28vis: Ctrl-{j,k} do not create duplicate cursors, instead advance primary oneMarc André Tanner
2016-03-28vis: support right alignment of selections in visual mode with <S-Tab>Marc André Tanner
2016-03-28vis: support count for {Meta-Ctrl,Ctrl}-{j,k}Marc André Tanner
Create count new cursors on the lines above/below.
2016-03-28vis: fix changing of primary cursor via Ctrl-{u,d}Marc André Tanner
2016-03-28vis: let Meta-Ctrl-{j,k} create new cursorMarc André Tanner
on the line above/below the first/last existing cursor.
2016-03-28vis: align selections with <Tab> in visual modeMarc André Tanner
2016-03-28vis: support column based alignmentMarc André Tanner
That is when multiple cursors are on the same line, the first cursor on every line is aligned, then the second one and so on.
2016-03-28view: change cursor creation API to take an initial positionMarc André Tanner
2016-03-15vis: add support for command register ":Marc André Tanner
2016-03-12vis: overhaul search related code, support "/ registerMarc André Tanner
2016-03-11vis: respect count for <C-d> and <C-u>Marc André Tanner
2016-03-10view: add query function for multiple cursorsMarc André Tanner
2016-03-10vis: let <C-u> and <C-d> in visual mode move to prev/next cursorMarc André Tanner
We do currently not enforce a strict ordering among cursors. Hence these key bindings can move you to an arbitray position. In practice it somewhat works because most of the time cursors are created in "top-down" i.e from the start of the file towards the end.
2016-03-10view: clean up API functions related to primary cursor handlingMarc André Tanner
The currently visible display port is always adjusted in a way that the primary cursor is visible.
2016-02-25vis: use standard registers for macro recordingsMarc André Tanner
Also support upper case register to append to an existing macro.
2016-02-23Make f, F, t, T motion work when replaying a macroMarc André Tanner
2016-02-22remove unused function cmd()Christian Hesse
2016-02-18vis: fix possible undefined zero allocationMarc André Tanner
2016-02-18vis: add insfrastructure to support global key mappingsMarc André Tanner
Except for insert/replace mode keys get translated before any key bindings are evaluated. This is useful for non-english/latin keyboard layouts.
2016-02-15Add text object to cover lines with same indentation levelMarc André Tanner
By default it is mapped to i<Tab> and a<Tab> however there is currently no difference between the inner and regular version.
2016-02-13vis: in insert mode <S-Tab> aligns all cursors by inserting spacesMarc André Tanner