Commit Graph

5287 Commits

Author SHA1 Message Date
Dan Rosén
5f97117ab4 Remove ad-hoc rules in kakrc highlighter
These are less useful with more static words, and they are
woefully incomplete: no support -docstring for map, set
uses the variable face, but there is no corresponding
highlighter for decl or %opt{..}.
2017-05-15 21:58:57 +02:00
Dan Rosén
1e4958353a Improve kakrc highlighter with more static words 2017-05-15 21:58:57 +02:00
Dan Rosén
80570a0dc7 Fix reference to kakrc highlighter for markdown 2017-05-15 21:58:57 +02:00
Frank LENORMAND
d5726c0cfd kakrc: Simplify and optimize the autoload function 2017-05-15 22:27:22 +03:00
Frank LENORMAND
6ccfd2f016 doc: Document the -E flag 2017-05-15 22:11:51 +03:00
Maxime Coste
44d2db2706 Add a basic replace-ranges highlighter
replace-ranges is takes a range-faces option, but treats the face
string as a display line to be parsed, and replaces the range display
with this display line.
2017-05-15 09:12:10 +01:00
Maxime Coste
468bd63569 Tweak buffer change code so that WinDisplay hooks can use info boxes 2017-05-13 11:18:21 +01:00
Maxime Coste
3a0d9481ac Add the -E switch for server initialization commands
Fixes #1361
2017-05-13 11:05:09 +01:00
Maxime Coste
3d0f7a29e1 Merge remote-tracking branch 'zambal/elixir-highlighter' 2017-05-12 09:52:43 +01:00
Maxime Coste
a9deb7fbc8 Merge remote-tracking branch 'occivink/wrap-doc' 2017-05-12 09:51:30 +01:00
Olivier Perret
7f541e5879 misc whitespace fix in docs 2017-05-11 20:45:32 +02:00
Olivier Perret
ec636ce04b update line-flags and flag_lines doc to reflect current status 2017-05-11 20:45:28 +02:00
Olivier Perret
120bf94ed9 fix new face documentation 2017-05-11 19:38:27 +02:00
Vincent Siliakus
812af8c886 Use only default faces 2017-05-11 18:40:07 +02:00
Maxime Coste
75e6b54ae2 Disable horizontal scroll offset support when wrapping 2017-05-11 09:23:20 +01:00
Maxime Coste
8fa7e67abc Use LineCount instead of int for ncurses assistant margin 2017-05-10 11:35:12 +01:00
Maxime Coste
a0752d8d46 Merge remote-tracking branch 'lenormf/fix-assistant-align' 2017-05-10 11:31:26 +01:00
Olivier Brewaeys
3f42e45ff6 Small spelling error fix
John Doe Copyright Waiver

  I dedicate any and all copyright interest in this software to the
  public domain.  I make this dedication for the benefit of the public at
  large and to the detriment of my heirs and successors.  I intend this
  dedication to be an overt act of relinquishment in perpetuity of all
  present and future rights to this software under copyright law.
2017-05-10 12:17:11 +02:00
Maxime Coste
9300a981eb Add support for the -passes option to the ref highlighter 2017-05-10 10:31:34 +01:00
Maxime Coste
6b518e4e46 Merge remote-tracking branch '5paceToast/ksh-autoload' 2017-05-10 10:06:30 +01:00
Maxime Coste
5483a087d2 Make ref highlighter work for all highlight passes 2017-05-10 08:16:31 +01:00
Chloe Kudryavtsev
b6555d07a9 Rename kakrc::autoload to kakrc::autoload_directory
`autoload` is a reserved keyword in the ksh family of shells.
Some of these are common `/bin/sh` providers (e.g mksh).
Renaming it to have a prefix fixes autoloading on such systems (see #1353).
This should not have any side effects due to the limited scope.
2017-05-09 11:36:32 -04:00
Maxime Coste
59a0841baa Update group highlighter docstring to document the passes option 2017-05-09 10:02:01 +01:00
Chloe Kudryavtsev
787ea7bc49 Chloe Kudryavtsev Copyright Waiver
I dedicate any and all copyright interest in this software to the
public domain.  I make this dedication for the benefit of the public at
large and to the detriment of my heirs and successors.  I intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this software under copyright law.
2017-05-08 21:34:23 -04:00
Maxime Coste
b109c7be02 Fix a few spelling errors detected by spell.kak in the README 2017-05-08 12:36:24 +01:00
Maxime Coste
12c498a0bd Distinguish between BufferRanges and InclusiveBufferRanges
Fixes #1257
2017-05-08 12:34:57 +01:00
Maxime Coste
f9a609e479 Refactor range highlighting into a struct 2017-05-08 12:05:45 +01:00
Maxime Coste
6a97455b3b Do not push a final spurious command separators when parsing commands
Fixes #1336
2017-05-08 11:46:03 +01:00
Maxime Coste
ad1175fefc Update wrap highlighter docstring 2017-05-08 11:30:51 +01:00
Maxime Coste
b0b40485ce Move SimpleHighlighter as an implementation detail 2017-05-08 11:29:23 +01:00
Maxime Coste
a5d4dbc16e Fix unneeded and wrong splitting of display atom during wrapping 2017-05-07 16:26:14 +01:00
Maxime Coste
e63156bcfb Fix infinite loop with longer than width words in word wrap mode 2017-05-07 16:26:14 +01:00
Maxime Coste
4e9193a975 Slight highlighting related code cleanup 2017-05-07 16:26:14 +01:00
Maxime Coste
b4b08d10b4 Fix assert when wrapping a line that takes more than the full window height 2017-05-07 16:26:14 +01:00
Maxime Coste
17b19dc057 Ensure window position line is inside buffer 2017-05-07 16:26:14 +01:00
Maxime Coste
ff15f6bbaf Document the wrap highlighter 2017-05-07 16:26:14 +01:00
Maxime Coste
4032d05c79 Reject 0 wrap column 2017-05-07 16:26:14 +01:00
Maxime Coste
8dd808726d Add support for word wrapping with the -word switch to the wrap highlighter 2017-05-07 16:26:14 +01:00
Maxime Coste
bb17fb6dd3 Add a -passes switch support for the group highlighter 2017-05-07 16:26:14 +01:00
Maxime Coste
fa5ae65f3a Move passes logic to the base Highlighter class
Validate that childs of HighlighterGroup are matching its passes.
2017-05-07 16:26:14 +01:00
Maxime Coste
55631c8d8e Detect errors while parsing flag line and handle them
Fixes #1345
2017-05-07 16:26:14 +01:00
Maxime Coste
053544d740 Disable horizontal scrolling when running a WrapHighlighter 2017-05-07 16:26:14 +01:00
Maxime Coste
23e38a254f Introduce a LineNumberWrapped face 2017-05-07 16:26:14 +01:00
Maxime Coste
39826afde5 Make scrolling around work more correctly with wrapping 2017-05-07 16:26:14 +01:00
Maxime Coste
bd3ba77e96 Make Wrap highlighter only wrap on window width. 2017-05-07 16:26:14 +01:00
Maxime Coste
5ee21ec932 Respect tabstop in Buffer::offset_coord 2017-05-07 16:26:14 +01:00
Maxime Coste
57c2b32d20 Introduce highlighting phases and display setup computation
Highlighters now run in 3 phases:
Wrap, Move, and Colorize. That way we guarantee the wrap
highlighter runs first, then eventual line numbers/flags,
and finally the colorizers.

We also run a `compute_display_setup` method thats responsible
for computing the lines that will be displayed, eventually
scrolling the view to ensure the cursor is visible.
2017-05-07 16:26:14 +01:00
Maxime Coste
a4f9e29d60 Add a wrap highlighter 2017-05-07 16:26:14 +01:00
Maxime Coste
93408e4b76 Do not use any display information to determine where the cursor moves 2017-05-07 16:26:14 +01:00
Maxime Coste
3a3144f3f5 Fix use of invalidated iterator in the command map on exception
The command map can get mutated by command execution, so the iterators
can get invalidated (now that we use our curstom HashMap implementation,
all iterators are potentially invalidated by insert/removal)
2017-05-07 16:25:34 +01:00