aboutsummaryrefslogtreecommitdiff
path: root/window.c
AgeCommit message (Collapse)AuthorFilesLines
2015-04-22Rename window.[ch] to view.[ch]Marc André Tanner1-898/+0
2015-04-22More renames, no functional changesMarc André Tanner1-353/+353
Win -> View, window_* -> view_*
2015-04-15Try to remember column position when moving across linesMarc André Tanner1-2/+15
This currently only works for non-wrapped lines.
2015-04-10Highlight matching cursor symbolMarc André Tanner1-14/+32
2015-04-07Fix cell attributes for tabsMarc André Tanner1-0/+2
This should fix some selection artifacts.
2015-04-07Show cursor in visual modeMarc André Tanner1-3/+6
2015-04-07Set '< and '> marksMarc André Tanner1-11/+17
2015-04-05Fix clang static analyzer warningsMarc André Tanner1-1/+2
2015-04-05Introduce new struct VisTextMarc André Tanner1-3/+4
This adds yet another layer of indirection and stores vi related stuff which is associated with a given text but shared among all windows displaying it (e.g. marks). This will also help if one wants to keep texts arround which aren't currently displayed.
2015-04-03Add option to display relative line numbersMarc André Tanner1-0/+4
:set rnu Based on a patch by Sebastian Götte.
2015-04-03Preliminary user interface separationMarc André Tanner1-193/+80
In theory only ui-curses.[hc] should depend on curses, however in practice keyboard input is still handled in vis.c. Furthermore the syntax definitions as well as keyboard bindings and selection code in window.c still depends on some curses constants. There is also a slight regression in that the window status bar does not show the current mode name. This and related global state should be eliminated in the future.
2015-01-13Add new logical linewise movementsMarc André Tanner1-0/+24
The column position is currently not correctly preserved when there are lines with multibyte characters involved spanning multiple screen lines. In general this might still be a bit fragile.
2015-01-13Rename window_line_* functionsMarc André Tanner1-8/+8
2015-01-06Fix some compiler warningsMarc André Tanner1-1/+1
2015-01-04Change window_cursor_getxy APIMarc André Tanner1-6/+6
2015-01-03Fix size_t specifiers in format stringsMatthias Braun1-1/+1
2015-01-01Rename mark related functionsMarc André Tanner1-2/+2
2014-12-23Optionally display line numbers alongside fileMarc André Tanner1-41/+109
Enable/disable with :set number [0|1]
2014-10-25Fix mode switching bugsMarc André Tanner1-0/+2
2014-10-25Set MARK_SELECTION_{START,END} in visual modeMarc André Tanner1-0/+3
2014-10-23Move feature test macros to config.mkMarc André Tanner1-1/+0
2014-09-27Implement 'zt', 'zz', 'zb'Marc André Tanner1-0/+42
In particular 'zb' might not work if there are wrapped lines involved.
2014-09-24Implement 'g0', 'gm', 'g$'Marc André Tanner1-2/+19
2014-09-23Implement linewise visual modeMarc André Tanner1-4/+5
2014-09-22Fix display of selection in visual modeMarc André Tanner1-4/+5
2014-09-19Improve syntax highlightingMarc André Tanner1-36/+42
2014-09-19Remove some TODO itemsMarc André Tanner1-1/+1
2014-09-19Windows style newlines are actually \r\n not \n\rMarc André Tanner1-6/+9
This is fiddely stuff, hopefully it doesn't break too much
2014-09-19Implement expand tab functionality, make tabwidth configurableMarc André Tanner1-1/+6
If expandtab is enabled then inserted tabs are replaced by tabwidth amount of spaces. Both settings apply to all windows files and can be changed via: :set tabwidth n # where 1 <= n <= 8 :set expandtab (1|yes|true)|(0|no|false)
2014-09-16Implement CTRL-{U,D,E,Y} in normal modeMarc André Tanner1-24/+22
2014-09-16Clean up cursor handling in window.[ch]Marc André Tanner1-68/+99
2014-09-15More efficient syntax highlighting, first match winsMarc André Tanner1-1/+2
2014-09-14Fix clang static analyzer warningsMarc André Tanner1-8/+10
2014-09-13Introduce some helper functions dealing with FilerangeMarc André Tanner1-5/+3
2014-09-13Rename text_insert_raw to text_insertMarc André Tanner1-2/+2
2014-09-13Introduce and use EPOS instead of (size_t)-1Marc André Tanner1-7/+7
2014-09-13Make window_selection_get to return the correct rangeMarc André Tanner1-1/+5
This makes the operator operate on the correct file range if executed from visual mode. The problem is that if the cursor is visible the selection seems larger than it actually is. The cell under the cursor is actually not part of the selection eventhough it is visually indistinguishable from it. The somewhat hacky way around this is to hide the cursor once selection is active and show it again once the selection is cleared. This will probably cause a headache if the cursor needs to be visible while a selection is active like for example in the command prompt.
2014-09-13Add movements 'H', 'M', 'L'Marc André Tanner1-0/+7
H moves to the n-th window line from top M moves to the middle window line L moves to the n-th window line from bottom
2014-09-11Fix bug when moving to characters with display width > 1Marc André Tanner1-3/+2
2014-09-11Add :edit commandMarc André Tanner1-0/+6
2014-09-11Fix warnings about redefinition of typedefed structsMarc André Tanner1-1/+0
2014-09-10Add comments where appropriateMarc André Tanner1-9/+9
2014-09-09Cleanup header filesMarc André Tanner1-2/+3
2014-09-09Remove trailing whitespaces (sed 's/[ \t]*$//')Marc André Tanner1-2/+2
2014-09-09Rename vis.[ch] to editor.[ch] and main.c to vis.cMarc André Tanner1-1/+1
2014-09-09Fix a few memory leaksMarc André Tanner1-0/+1
2014-09-02Teach window_cursor_to how to display the end of the fileMarc André Tanner1-32/+32
2014-09-01Refactor frontend codeMarc André Tanner1-0/+745
window.[ch] now contains a somewhat generic editor window which is then enhanced in vis.[ch] with a statusbar.