Commit Graph

7451 Commits

Author SHA1 Message Date
Maxime Coste
5c0175d90a Remove peephole regex optimization pass
The current implementation is wrong as it crosses basic blocks
boundaries. Doing basic block decomposition of regex is probably
a tad too complex for this single optimization.

Fixes #2711
2019-02-04 22:10:19 +11:00
Maxime Coste
d9d2140ea2 Fix regex not always selecting the leftmost longest match
(Actually the rightmost longest match when searching backwards)

Fixes #2710
2019-02-04 17:33:29 +11:00
Maxime Coste
4cb402ac1a Remove references to SelectionList from selectors 2019-02-04 12:52:55 +11:00
Maxime Coste
7f9fe32f2d Remove target_eol and small code cleanups 2019-02-04 12:52:48 +11:00
Maxime Coste
d28dbd0918 Merge remote-tracking branch 'lePerdu/expansion-docs' 2019-02-03 10:09:53 +11:00
Maxime Coste
6a0007653d Merge remote-tracking branch 'Screwtapello/manpage-updates' 2019-02-03 09:56:59 +11:00
Maxime Coste
4a2cd39eac Merge remote-tracking branch 'stevenyvr987/fix-ctags-funcinfo-command' 2019-02-03 09:56:18 +11:00
Maxime Coste
5fc52af211 Merge remote-tracking branch 'lePerdu/jsx-tag-attrib' 2019-02-03 09:53:46 +11:00
Maxime Coste
7b1af1c32c Merge remote-tracking branch 'JJK96/documentation' 2019-02-03 09:53:09 +11:00
Maxime Coste
0dbbaaaa8f Merge remote-tracking branch 'JJK96/select-count' 2019-02-03 09:52:22 +11:00
Jan-Jaap Korpershoek
0d8d32cf38 Change all instances of count to monospace 2019-02-01 18:19:50 +01:00
Jan-Jaap Korpershoek
4521099ebb Add explanation of count for s and S commands 2019-02-01 16:36:57 +01:00
lePerdu
eaa5c0d297 Remove +F from tag attribute highlighting 2019-01-31 09:22:08 -05:00
lePerdu
665d90b9bb Document escaping %-strings and add more examples 2019-01-31 09:00:08 -05:00
lePerdu
a5f865a566 Add/fix cross-references for expansions 2019-01-31 08:48:35 -05:00
lePerdu
deda159536 Change "brace" back to "nestable punctuation" 2019-01-30 21:12:48 -05:00
lePerdu
db4bb6788d Make word splitting description more precise 2019-01-30 21:12:39 -05:00
lePerdu
a7320a01aa Specify only lists can expand to multiple args 2019-01-30 16:17:45 -05:00
lePerdu
5a4ba0b35f Update and clarify expansion/quoting docs 2019-01-30 15:46:40 -05:00
Steven Chan
568d46bf72 Fix and simplify ctags-funcinfo command
1. Enable the command to correctly show the prefix of a function name [prefix::basename],
   where prefix is the value gotten from a class, struct, or namespace field of the tag line.

2. Use a readtag filter expression to replace a use of grep.
2019-01-29 11:17:23 -08:00
Jan-Jaap Korpershoek
b171824d8b Add missing [<switches>] argument to declare-option 2019-01-25 00:03:20 +01:00
Maxime Coste
b91367f8a3 Replace std::mem_fn with custom lambda in ranges 2019-01-24 23:24:50 +11:00
Maxime Coste
3e89148d74 Fix missing errno include 2019-01-24 23:24:50 +11:00
Maxime Coste
aa4885fd65 Add missing locale include to main.cc 2019-01-24 23:04:31 +11:00
Maxime Coste
c7f4d4dd27 Fix array_view dependency on std::min 2019-01-24 22:55:20 +11:00
Maxime Coste
346c78f5e0 Header and dependency cleanup 2019-01-24 21:22:20 +11:00
Maxime Coste
4b72cfe530 Replace std::tie with structured bindings 2019-01-24 21:21:59 +11:00
Tim Allen
64ea32d5c3 doc/kak.1: Mention other sources of information about Kakoune.
Also add a SEE ALSO section because it's traditional, and a good way to
indicate Kakoune's sources and inspirations.
2019-01-24 09:09:07 +11:00
Tim Allen
d712454b3c doc/kak.1: split the synopsis for each mutually exclusive mode of operation.
Previously, the manpage listed every flag and parameter as optional, implying
that they could be used in any combination, which isn't true. As a trivial
example, to use Kakoune in "list sessions" mode, you *must* specify -l, and you
*must not* specify any other options. To use Kakoune in any other mode, you
*must not* specify -l.
2019-01-24 09:08:44 +11:00
Tim Allen
2b7c100334 doc/kak.1: make the config-loading description a top-level paragraph.
Previously, it was indented to look like part of the description of the file
parameter.
2019-01-24 08:56:15 +11:00
Maxime Coste
90dd084993 Only embed gdb script on ELF targets, and add missing gdb symlink 2019-01-23 20:59:32 +11:00
Maxime Coste
ebc9f7703b Embed gdb pretty-printing script directly into Kakoune binary
This will get stripped correctly, and should make debugging easier.
2019-01-23 20:27:16 +11:00
Maxime Coste
1b469f4c00 Merge http://github.com/ckafi/kakoune 2019-01-23 20:24:24 +11:00
Maxime Coste
62a32856c3 Merge remote-tracking branch 'stevenyvr987/fix-ctags-plugin' 2019-01-23 20:22:45 +11:00
Maxime Coste
97ac8f089b Merge remote-tracking branch 'Screwtapello/document-specific-buffer-scope' 2019-01-23 20:22:30 +11:00
Maxime Coste
36e9e7eaf9 Change pipe diffing to work linewise
This should greatly improve performances as we only need to diff
lines instead of individual characters.

Closes #2678
Fixes #2037
2019-01-23 20:20:54 +11:00
Maxime Coste
370d10ccc7 Always select inserted text after piping
Relying on general selection update code is error prone due to
diffing.

Fixes #2394
2019-01-23 20:14:08 +11:00
Tim Allen
4247cf6def doc: Document the buffer=/path/to/file scope syntax.
Also, make sure all commands that involve scopes link to the scopes
documentation, and refer to the "scope" parameter as `*scope*` for consistency.
2019-01-23 12:34:02 +11:00
Maxime Coste
c07f052de7 Default to release build
Fixes #2701
2019-01-22 19:41:58 +11:00
Maxime Coste
45995ad572 Update README regarding compiler compatibility 2019-01-22 19:39:45 +11:00
Steven Chan
273b7d0e59 Steven Chan 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.
2019-01-21 15:24:10 -08:00
Steven Chan
ae86ffcbf9 Fixes for ctags.kak
1. Fix #2250. Enable ctags to handle absolute file paths.
   Only prepend tagroot to tag location if it is a relative file path.

2. Include signature field in the default ctags command.
   The regex for displaying signature info includes a mandatory pattern
   for 'signature' field, but the field is not a default option for the ctags command.
   If the tags file is generated by the as-is ctags command, pattern matching will fail,
   and the whole ctags line for the selected function will be displayed instead.
2019-01-21 15:09:33 -08:00
Maxime Coste
73023087f7 Fix travis.yml 2019-01-20 22:59:28 +11:00
Maxime Coste
eb8f785e91 Try to bypass clang crash 2019-01-20 22:59:28 +11:00
Maxime Coste
77b1216ace Add a peephole optimization pass to the regex compiler 2019-01-20 22:59:28 +11:00
Maxime Coste
0364a99827 Refactor regex find next start not to be an instruction anymore
The same logic can be hard coded, avoiding one thread and 3
instructions, improving the regex matching speed.
2019-01-20 22:59:28 +11:00
Maxime Coste
fd043435e5 Split compile time regex flags from runtime ones 2019-01-20 22:59:28 +11:00
Maxime Coste
b76287ff99 Try to get g++-7 working on OSX travis-ci 2019-01-20 22:59:28 +11:00
Maxime Coste
8c2603ab3c Support re-using the same ThreadedRegexVM for multiple iterations
This should reduce the number of allocations as the memory allocated
for the thread stack and the saves can be re-used between runs instead
of being cleared every time.
2019-01-20 22:59:28 +11:00
Maxime Coste
30897fd820 Fix warning on gcc 8 2019-01-20 22:59:28 +11:00