Commit Graph

7280 Commits

Author SHA1 Message Date
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
Maxime Coste
7b29192c24 Fix use of removed std::random_shuffle 2019-01-20 22:59:28 +11:00
Maxime Coste
5a8a174f81 Bump travis config to gcc-7 and xcode 10.1 to try to fix compilation 2019-01-20 22:59:28 +11:00
Maxime Coste
2afc147b2c Refactor parsed regex children iteration to use regular range-for loops 2019-01-20 22:59:28 +11:00
Maxime Coste
566268d7bc Refactor RegexIterator to use a Sentinel 2019-01-20 22:59:28 +11:00
Maxime Coste
3babd0685c Switch to compilation standard to C++17 2019-01-20 22:59:28 +11:00
Maxime Coste
cb7401439b Kakoune v2019.01.20 2019-01-20 22:52:01 +11:00
Maxime Coste
ae69759a53 Defer deletion of unsetted option to return to main loop
Fixes #2572
2019-01-20 22:46:40 +11:00
Maxime Coste
ca105f8cc6 Rework c-family shell expansions to speed them up slightly 2019-01-20 12:33:46 +11:00
Maxime Coste
a9ee4e8af4 Small optimization in clojure.kak awk script 2019-01-20 12:32:31 +11:00
Maxime Coste
a35a1591d0 Convert scheme.kak expensive shell scope to awk 2019-01-20 12:31:57 +11:00
Maxime Coste
8587ecaeb4 Slight simplification in c-family.kak
There is no need to have split types/macros into many different
variables.
2019-01-19 11:33:53 +11:00
Maxime Coste
2f7ec014b7 Use a here-document for clojure.kak awk script 2019-01-19 10:42:46 +11:00
Maxime Coste
7df7f5d38b small code tweak 2019-01-19 10:34:12 +11:00
Maxime Coste
41ce602574 Fix some escaping issues in clojure.kak 2019-01-19 10:29:23 +11:00
Maxime Coste
4a358e0707 Merge remote-tracking branch 'eraserhd/clojure-highlighting-with-awk' 2019-01-19 10:14:05 +11:00
Jason Felice
52c0b7d6b4 Rewrite clojure highlighting to use awk
First, avoids the shell escaping issue mentioned in #2604.  Second,
speeds up Kakoune boot time.
2019-01-18 11:20:15 -05:00
Tobias Frilling
ef19d318c4 Better tmux REPL support
This allows one REPL per kakoune session and allows the REPL to run in a
different tmux session than the kakoune client.
2019-01-18 14:42:04 +01:00
Maxime Coste
0f9e6680e2 Support quoted here-documents in sh highlighting 2019-01-17 19:58:53 +11:00
Maxime Coste
da8058487b Fix C++ raw strings not being checked for matching captures 2019-01-17 19:50:43 +11:00
Maxime Coste
0600724a8b Improve some corner cases in c-family auto-indenting 2019-01-14 23:42:57 +11:00