Maxime Coste
7f83c41256
align ThreadedRegexVM::Thread to permit fused copy optimization
...
Aligning makes gcc able to copy a Thread object with a single
32bit mov instruction instead of two 16bits one.
2018-11-06 20:13:09 +11:00
Maxime Coste
05a9eb62f4
Never grow the DualThreadStack in push_next
...
As we do at most one push_next per step_thread, and we pop_current
before step_thread, we can avoid a branch there at the expense of
sometimes growing unecessarily (once).
2018-11-06 07:32:47 +11:00
Maxime Coste
7fbde0d44e
Various micro performance tweaks in ThreadedRegexVM
2018-11-05 21:54:29 +11:00
Maxime Coste
7959c7f731
Refactor ThreadedRegexVM::exec_program to avoid branching
...
Moving logic into step_thread instead of returning an enum to
select what to run avoids the switch logic and improves run time.
2018-11-05 19:46:53 +11:00
Maxime Coste
7463a0d449
Remove use of utf8::iterator in regex execution
...
This avoids having two copies of the subject string bounds, one
in the ExecConfig and one in the utf8 iterator.
2018-11-05 08:17:50 +11:00
Maxime Coste
b4571bd172
Dump start description as well when writing a regex dump
2018-11-04 12:01:29 +11:00
Maxime Coste
4ac7df3842
Remove most regex impl special casing for backwards matching
2018-11-03 13:52:40 +11:00
Maxime Coste
ee74c2c2df
Use custom code instead of reverse_iterator in Regex VM
2018-11-02 08:23:39 +11:00
Maxime Coste
6fce8050ee
Use BufferCoord sentinel type for regex matching on BufferIterators
...
BufferIterators are large-ish, and need to check the buffer pointer
on comparison. Checking against a coord is just a 64 bit comparison.
2018-11-01 21:51:10 +11:00
Maxime Coste
8a751e1b57
Remove caching from utf8_iterator
2018-11-01 21:05:09 +11:00
Maxime Coste
4cd7583bbc
Improve regex vm to next start performance by avoiding iterator copies
2018-11-01 08:22:43 +11:00
Maxime Coste
4cfb46ff2e
Support different type for iterators and sentinel in utf8 functions
2018-11-01 08:22:43 +11:00
Maxime Coste
9fec1b3faf
Buffer: Remove m_line_count field from BufferIterator
...
It seems unlikely this would give performance gain, as buffer
lines are always accessed when we read that field, leading to
all the necessary data already being in memory. Removing it
reduces the size of a BufferIterator, which are already pretty
hefty objects.
2018-10-30 23:18:41 +11:00
Maxime Coste
6271d0d9ff
Merge remote-tracking branch 'eraserhd/refactor-surround'
2018-10-29 19:27:18 +11:00
Maxime Coste
a6334aed59
Merge remote-tracking branch 'Delapouite/doc-registers'
2018-10-29 19:26:16 +11:00
Delapouite
44ce4bc069
Remove extra spaces for switches list in info
2018-10-28 13:34:19 +01:00
Delapouite
794f84498c
doc: complete list of normal commands using default registers
2018-10-28 09:52:33 +01:00
Delapouite
c08ec08513
test: add end-extending-parent/braces for }B}B - Ref #2479
2018-10-27 13:49:45 -04:00
Jason Felice
feea0064d8
Simplify surround selection
...
This has the same effect with fewer conditions, and I think it also
specifies the intent more closely this way.
2018-10-27 13:49:45 -04:00
Maxime Coste
3b40ab82f4
Kakoune v2018.10.27
2018-10-27 09:26:50 +11:00
Justin Frank
0d49c925e3
Keep doc/kak.1 when running make-install
2018-10-23 18:15:01 -07:00
Maxime Coste
365407c37a
Merge remote-tracking branch 'Delapouite/previous-char'
2018-10-24 08:13:45 +11:00
Delapouite
ec0926c312
Change next_key title for <a-f>, <a-t>, <a-F> and <a-T>
2018-10-23 19:09:01 +02:00
Maxime Coste
fc9a20cb22
Merge branch 'patch-3' of http://github.com/FranzSkuffka/kakoune
2018-10-23 20:22:26 +11:00
Maxime Coste
207291219c
Merge remote-tracking branch 'maximbaz/fix-makefile-manpage'
2018-10-23 20:20:32 +11:00
Maxime Coste
7c00165c23
Merge remote-tracking branch 'laelath/vertical-menu-option'
2018-10-23 20:18:56 +11:00
Maxim Baz
9f6518a031
Fix Makefile for manpage
2018-10-23 02:34:05 +02:00
Maxime Coste
e9802bac6f
Notify that asciidoc is not a dependency anymore in the changelog
2018-10-23 08:24:08 +11:00
Maxime Coste
3bf7247a78
Merge remote-tracking branch 'maximbaz/gruvbox-comments-italic'
2018-10-23 08:20:56 +11:00
Maxime Coste
433e39566d
Merge remote-tracking branch 'lenormf/highlight-troff'
2018-10-23 08:20:21 +11:00
Maxime Coste
e3668121f2
Merge remote-tracking branch 'lenormf/no-a2x'
2018-10-23 08:19:56 +11:00
Maxime Coste
dfc11d1c43
Refactor Hook management to have a well defined list of hooks
...
Hooks are now an enum class instead of passing strings around.
2018-10-23 08:15:53 +11:00
Jason Felice
e399bf7562
EDN files are Clojure syntax
2018-10-22 10:23:26 -04:00
Frank LENORMAND
2999702b01
rc troff: Highlight *ROFF files
...
Fixes #2508
2018-10-21 16:24:14 +03:00
Jan Wirth
ac013c3ba7
Improve ubuntu installation instructions
2018-10-21 13:09:07 +02:00
Frank LENORMAND
60b24c6a32
doc: Convert the man page to the TROFF format
...
Fixes #2504
2018-10-21 14:04:25 +03:00
Maxim Baz
fbe6f65aae
gruvbox: show comments in italic
2018-10-21 11:34:04 +02:00
Maxime Coste
7470c85a1a
Merge remote-tracking branch 'maximbaz/do-not-enforce-autoformat-ocaml'
2018-10-21 18:45:16 +11:00
Maxime Coste
72bdd7900f
Move LineRangeSet to line_modification.hh
2018-10-21 12:10:21 +11:00
Maxime Coste
7dbca46bf0
Merge remote-tracking branch 'schickm/bugfix/hbs-highlighter-toggling'
2018-10-21 11:52:22 +11:00
Maxime Coste
a383ce3045
Fix LineRangeSet::udpate not updating some traling ranges correctly
...
Fixes #2499
2018-10-21 11:49:30 +11:00
Justin Frank
c5a1225638
removed option and horizontal layout
2018-10-15 14:07:39 -07:00
Justin Frank
a1e3fa02e6
added option for vertical menu layout in the ncurses ui
2018-10-15 14:07:39 -07:00
Maxime Coste
da13b5f814
Fix handling of capture matching in region highlighter
...
Also extend the highlight/regions test to validate that.
Thanks to lenormf for reviewing my change and finding this bug.
2018-10-15 21:21:12 +11:00
Maxime Coste
71e27c73af
Cleanup RegexHighlighter code and drop cache when it becomes too big
...
The RegexHighlighter range cache can get pretty big in nested
regions use cases, and maintaining it can become pretty costly,
so if it hits a certain size, just drop it.
Should improve performances in #2454
2018-10-14 09:48:39 +11:00
Maxime Coste
194a5db5d6
maintain a list of valid ranges for region highlighting
...
This should greatly reduce memory usage by only caching matches
for ranges that needs to be highlighted, in the case where multiple
regions are nested, this means only the topmost region needs to parse
and cache the whole buffer, other regions highlighter will only ensure
the lines for the ranges they are called up are cached.
Fixes #2454
2018-10-14 09:48:39 +11:00
Maxime Coste
dd0e4310a7
Slight code refactoring in RegionsHighlighter
2018-10-14 09:48:39 +11:00
Maxime Coste
5922299083
Merge remote-tracking branch 'Delapouite/complete_alias'
2018-10-14 09:46:35 +11:00
Maxime Coste
87c909304a
Merge remote-tracking branch 'lenormf/credits'
2018-10-14 09:30:01 +11:00
Maxime Coste
596bed3f36
Merge remote-tracking branch 'Screwtapello/ranges-use-bytes'
2018-10-14 09:29:38 +11:00