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