Commit Graph

6996 Commits

Author SHA1 Message Date
Maxime Coste
021ba55b38 Small code tweak in DualThreadStack::swap_next 2018-11-14 17:50:17 +11:00
Maxime Coste
54d35472c0 Fix spurious redraw
m_last_setup was not storing the actual position that was used to
redraw the window, but the previous one, leading to an additional
spurious redraw immediatly after (triggered by window position not
believed to be the one at last redraw).

Fixes #2562
2018-11-14 17:49:44 +11:00
Maxime Coste
b9ca3ee6dc Fix column highlighter adding display atoms past the window width 2018-11-14 17:47:11 +11:00
Olivier Perret
b96ab67479 Expose selection(s) length with a value 2018-11-08 20:14:33 +11:00
Maxime Coste
8c2c3d27ad Fix memory leak in DualThreadStack
Fixes #2556
2018-11-07 12:28:41 +11:00
Maxime Coste
9bc893e70b Merge remote-tracking branch 'laelath/c-indent-fixes' 2018-11-06 20:22:50 +11:00
Maxime Coste
95622bc6e8 Merge remote-tracking branch 'Delapouite/debug-regex' 2018-11-06 20:17:41 +11:00
Maxime Coste
bcd50d7dd8 Merge remote-tracking branch 'eraserhd/clojure-indent-fix' 2018-11-06 20:16:57 +11:00
Maxime Coste
2eeb9d8deb Merge remote-tracking branch 'ul/replace-e-face-with-F-in-rc' 2018-11-06 20:16:38 +11:00
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
Justin Frank
521e5032c9 Don't require content in parens for single statment indent 2018-11-01 00:21:48 -07:00
Justin Frank
ee65954ed4 Make statement after if/else/while/for optional for indenting c-family 2018-10-31 16:09:13 -07: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
Delapouite
a61c6a9bb5 Truncate incomplete debug command docstring 2018-10-30 19:46:05 +01: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
Jason Felice
db937beff0 Make lisp/clojure indent work for append 2018-10-29 12:16:13 -04: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
Ruslan Prokopchuk
b65a6493aa replace usage of the deprecated 'e' face attribute with the new 'F' one
and update set-face docstring
2018-10-28 08:52:14 +11: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