aboutsummaryrefslogtreecommitdiff
path: root/main.c
AgeCommit message (Collapse)AuthorFilesLines
2017-06-15vis: rename uses of Cursor to SelectionMarc André Tanner1-76/+76
2017-06-15view: rename view_cursors_columnMarc André Tanner1-4/+4
2017-06-15view: rename view_cursorsMarc André Tanner1-13/+13
2017-06-15view: rename view_cursors_column{,count,next}Marc André Tanner1-8/+8
2017-06-15view: rename view_cursors_countMarc André Tanner1-7/+7
2017-06-15view: rename view_cursors_nextMarc André Tanner1-12/+12
2017-06-15view: rename view_cursors_prevMarc André Tanner1-2/+2
2017-06-15view: view_cursors_selection_restoreMarc André Tanner1-1/+1
2017-06-15view: rename view_cursors_selection_swapMarc André Tanner1-1/+1
2017-06-15view: rename view_cursors_selection_clearMarc André Tanner1-1/+1
2017-06-15view: rename view_cursors_selection_getMarc André Tanner1-12/+12
2017-06-15view: rename view_cursors_primary_{get,set}Marc André Tanner1-11/+11
2017-06-15view: rename view_cursors_clearMarc André Tanner1-1/+1
2017-06-15view: rename view_cursors_disposeMarc André Tanner1-5/+5
2017-06-15view: rename view_cursors_newMarc André Tanner1-3/+3
2017-06-15view: remove view_cursors_multipleMarc André Tanner1-6/+6
2017-06-15vis: promote selections to first class primitivesMarc André Tanner1-25/+6
This unifies cursors and selections. The cursor are now represendted as singleton selections.
2017-06-01vis: use more portable format string for wchar_tMarc André Tanner1-1/+2
Use upper case Unicode (U+XXXX) notation for `ga`. Fix #568
2017-05-06vis: add doxygen commentsMarc André Tanner1-1/+1
Rename some structures, add typedefs for function pointers, remove unused arguments from vis_run.
2017-05-03text: remove count argument from text_{earlier,later}Marc André Tanner1-2/+8
2017-05-03vis: introduce count iterator to handle interrupted flagMarc André Tanner1-2/+4
2017-04-21vis: implement <C-r> in terms of gPMarc André Tanner1-9/+3
This simplifies the code and ensures consistent behavior.
2017-04-20vis: adapt <C-r> to new register handling codeMarc André Tanner1-3/+10
2017-04-19vis: restructure register handlingMarc André Tanner1-0/+1
Decouple register content from cursors. Previously each cursor had exactly one corresponding register. Now each register can save a list of values whose lifetime is not tied to the cursor. If multiple cursors exist and a put with a register holding only a single value is performed, then this value is inserted at every cursor location. If there are fewer values available than cursors, then only the matching ones will be used. If a register holding multiple values is inserted in a single cursor context, only the first value will be used. Another option would be to join all existing values. The details of this behavior might be changed in the future. <C-r> in insert mode has not yet been adapted and register handling in general needs to be cleaned up further. Fix #527
2017-04-18vis: rename vis_register_set to vis_registerMarc André Tanner1-1/+1
2017-04-14vis: make certain operations interruptible with <C-c>Marc André Tanner1-1/+0
As currently implemented this will only work for operations which are individually fast, but repeated many times (e.g. `1000000itext<Escape>`).
2017-04-09vis: reject invalid register name when recording a macroMarc André Tanner1-0/+2
Fix #534
2017-04-06vis: fix memory leak in selection rotation codeMarc André Tanner1-0/+1
2017-04-04vis: add motions to move by codepointsMarc André Tanner1-0/+12
Some people might prefer this for <Backspace> behavior. Except for that and debugging purposes using `ga` and `g8` it is not yet that useful.
2017-04-04vis: reject multi letter mark and register namesMarc André Tanner1-0/+10
Fix #531
2017-04-02Fix Debian package lintian warningsMarc André Tanner1-3/+3
https://mentors.debian.net/package/vis
2017-03-31vis: add non-default actions for vi compatible n/N motionsMarc André Tanner1-0/+12
The following key mappings should result in the vi behavior: :map! normal n <vis-motion-search-repeat> :map! normal N <vis-motion-search-repeat-reverse> The default remains unchanged, that is `n` (`N`) always searches towards the end (start) of the file. Fix #470
2017-03-31vis: rename search related constantsMarc André Tanner1-10/+10
2017-03-22vis: fix wrap around with <C-n>Marc André Tanner1-0/+2
Do not create an invalid cursor when no further match exists.
2017-03-19Move :set syntax option implementation to luaMarc André Tanner1-1/+0
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-14Add experimental raw vt100 UI backendMarc André Tanner1-1/+2
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é Tanner1-2/+3
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-05vis: remove word and file name completion from editor coreMarc André Tanner1-77/+0
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-02-25vis: add vis- prefix to pseudo editor keysMarc André Tanner1-163/+163
2017-02-24vis: make help texts optional to produce a smaller binaryMarc André Tanner1-178/+178
$ ./configure --disable-help shrinks the binary by about 20K on a x86_64 system.
2017-02-23vis: remove `gf` and `<C-w>gf` functionalityMarc André Tanner1-36/+0
This can also be implemented using Lua, if desired.
2017-02-23vis: remove number increment/decrement functionalityMarc André Tanner1-59/+0
By now we should have the necessary Lua API to implement this as an extension.
2017-02-22vis: simplify `r` implementation and fix cursor positioningMarc André Tanner1-10/+2
2017-02-15vis: use single function call to print version informationMarc André Tanner1-12/+6
This results in a slightly smaller binary while still avoiding #ifdefs. Close #494
2017-02-15vis: remove motion and text objects related to C functionsMarc André Tanner1-36/+0
These do not really belong into the editor core. If desired they could be implemented in Lua instead.
2017-02-15text-motions: remove unused text_line_lastcharMarc André Tanner1-6/+0
2017-02-14vis: add compile time features to version outputMarc André Tanner1-1/+12
2017-02-10vis: make r handle special keys like <Tab>Marc André Tanner1-8/+4
Unlike vim we do not respect `:set expandtab` here.
2017-02-10vis: make t, T, f and F work for special keysMarc André Tanner1-9/+5
Fix #491