Commit Graph

720 Commits

Author SHA1 Message Date
Paul d'Hubert
c54a8ef987 Allow setting custom make error pattern
The current pattern used by the commands `make-next` and `make-prev`
are not suitable for all usages.

For example the go compiler will not suffix errors with `error: ` and is
not usable with these functions. This change allows the user to define
a custom error pattern, instead of having to work around the error (for
example using sed to insert the `error: ` suffix).

What do you think of this? I have not followed the current convention
of having options without separators (like `makecmd`). Also this does
not feel to be the right solution because the pattern has to be set at
global level.
2016-12-08 11:01:05 +01:00
Martin Chaine
5fcb99a154 smarter mimetype matching 2016-12-07 14:00:06 +01:00
Martin Chaine
74432ac8f2 match filetype for eml extension
stolen from #878
2016-12-06 17:53:12 +01:00
Martin Chaine
b64bcf7b3e better filetype detection
http://asciidoctor.org/docs/asciidoc-recommended-practices/#document-extension
2016-12-06 17:49:30 +01:00
Martin Chaine
7384288e07 transform mimetype to a fallback option
The option is now used as a fallback when detection by extension fails. Some
scripts like `base/mail.kak` and `base/html.kak` still rely heavily on it.
2016-12-06 17:48:46 +01:00
Maxime Coste
d88d0bac42 Rework editorconfig.kak to make it more robust and handle tabs more correctly 2016-12-02 13:44:51 +00:00
Maxime Coste
168abcdb48 Fix c-family.kak after the change to keep handling of eol 2016-11-29 00:01:37 +00:00
Martin Chaine
85759d51eb go: error is a type not a keyword 2016-11-28 15:06:26 +01:00
Martin Chaine
34be6c42e7 add error to types 2016-11-28 14:05:25 +01:00
Maxime Coste
97a84a4765 c-family.kak: rename gcc_macros to builtin_macros 2016-11-27 23:38:47 +00:00
Frank LENORMAND
94971e0e8a Introduce the builtin face, modify scripts accordingly 2016-11-24 17:06:45 +03:00
Maxime Coste
fbd32fb512 Merge remote-tracking branch 'lenormf/fix-html-mimetypes' 2016-11-23 00:25:45 +00:00
Frank LENORMAND
0c4c7ba240 Support xml based code in html.kak
This commit extends the range of mimetypes detected in `html.kak` to the
following:
* text/html
* text/x-html
* text/xml
* application/xml
* application/…+xml (e.g. xhtml, rss)

Static .xml file will also be highlighted as HTML.
2016-11-22 11:07:53 +03:00
Frank LENORMAND
7f9e24cdbf Remove flake8.kak, deprecated by lint.kak
Builtin support for `flake8` can be obtained using the following:
```
set window lintcmd 'flake8 --filename=* --format="%(path)s:%(row)d:%(col)d: error: %(text)s"'
```
2016-11-22 10:56:17 +03:00
wheatdog
cf096a1f19 enhance latex.kak: comments, \%, \_, \$ 2016-11-19 23:01:07 +08:00
Maxime Coste
8e56917984 ctags.kak: Fix compatibility with original-awk
Fixes #928
2016-11-17 13:03:43 +00:00
Maxime Coste
16b8615089 ctags.kak: Replace some subshells with parameter expansions 2016-11-16 10:01:08 +00:00
Dimitar Dimitrov
27265b655a Don't double sub shell 2016-11-15 22:49:51 +00:00
Maxime Coste
f1400e49ab Remove some tabs from ctags.kak 2016-11-15 22:49:51 +00:00
Maxime Coste
10fa6afa08 Rework ctags.kak to read from all the different tag files.
Ensure tags files are not read twice through different paths.
Handle paths containings space correctly

Closes #802, to which much credits goes for this change.
2016-11-15 22:48:49 +00:00
Olivier Perret
b6acafc8ec fix lua.kak 2016-11-15 21:23:46 +01:00
Maxime Coste
90de54af2f Rework c-family /* */ comments auto insertion of prefix star
Fixes #918
2016-11-14 21:11:20 +00:00
Maxime Coste
cb074793a0 Highlight numbers as values in json 2016-11-14 13:14:21 +00:00
Maxime Coste
dcd733e5fa Do a first phase of command renaming 2016-11-14 00:27:14 +00:00
Frank LENORMAND
85ce5db08a Merge the "error" duplicate face into "Error" 2016-11-09 17:51:42 +03:00
Maxime Coste
fff129f15b Merge remote-tracking branch 'lenormf/fix-sh-highlighting' 2016-11-08 20:20:45 +00:00
Frank LENORMAND
aca984f000 Highlight variable expansions as values in shell scripts 2016-11-08 19:03:41 +03:00
Martin Chaine
6271c60080 add missing builtins + clean duplicate interface 2016-11-07 11:10:38 +01:00
Martin Chaine
352c56bfb5 let the user set the format hook 2016-11-06 17:22:54 +01:00
Martin Chaine
28e37b608d remove trailing whitespaces 2016-11-05 18:40:37 +01:00
Martin Chaine
590e28ea7f Extended support for go
completion, auto-format, documentation and more
2016-11-05 17:54:56 +01:00
Frank LENORMAND
277117f64b Fix the doc command for users of BSD man
This commit uses options and flags that will work on both the BSD and
the `man-db` implementations, however those changes remain unportable as
the POSIX standard only defines a single `-k` flag for the utility,
which we don't need.

The call to the `col` utility has also been replaced by a call to `sed`,
as the former is only shipped on systems that have the `nroff` formatter
installed.
2016-11-03 14:57:55 +03:00
Maxime Coste
9ca0467c4d Merge remote-tracking branch 'kurkale6ka/lint_explicit' 2016-11-02 22:47:45 +00:00
Maxime Coste
01dba547fb Tweak c-family indentation logic 2016-11-02 22:27:50 +00:00
Dimitar Dimitrov
c5ebd5e303 Remove since it gets overwritten by the NormalIdle hook +
$kak_cursor_line will always be 1 as that runs in a temporary context for the window
2016-11-02 17:00:04 +00:00
Dimitar Dimitrov
9a87e7fdff Use same idiom as for lint-next 2016-11-02 14:18:38 +00:00
Dimitar Dimitrov
05f7ab7568 lint-prev 2016-11-02 14:09:33 +00:00
Dimitar Dimitrov
ae339dc3c4 Use %~~ for delimiting to avoid issues with braces in the message 2016-11-02 14:09:33 +00:00
Maxime Coste
bd5c952d76 Merge remote-tracking branch 'kurkale6ka/spell_replace' 2016-10-29 11:51:02 +01:00
Maxime Coste
2a1a9d9aad Merge remote-tracking branch 'casimir/patch-2' 2016-10-29 11:30:12 +01:00
Maxime Coste
79b193d2be Fix ctags update-tag command that could fail depending on the locale 2016-10-28 09:48:57 +01:00
Martin Chaine
0272d3909d Fix sed for macOS 2016-10-27 11:22:16 +02:00
Maxime Coste
7c6c6871ce BufferRange option syntax support <line>.<column>+<len> and is inclusive
Fixes #864
2016-10-26 22:58:12 +01:00
Maxime Coste
4b2004c6ff git-tools.kak: Fix passing of custom parameters to git commit 2016-10-24 20:45:57 +01:00
Maxime Coste
1c97be5716 Merge remote-tracking branch 'casimir/taskpaper-support' 2016-10-23 18:30:50 +01:00
Maxime Coste
d54640f41d Merge remote-tracking branch 'kurkale6ka/sh_lint_2' 2016-10-23 18:30:23 +01:00
Maxime Coste
f3d7209781 Merge remote-tracking branch 'casimir/patch-1' 2016-10-23 18:30:06 +01:00
Martin Chaine
93c2943ff9 different highlight for variable declaration 2016-10-23 11:55:32 +02:00
Martin Chaine
2f86038abe const and var are keywords not attributes 2016-10-23 11:16:04 +02:00
Martin Chaine
1012fae065 Add missing Go keyword
Add `var` to the keywords, per https://golang.org/ref/spec#Keywords.
2016-10-22 20:02:22 +02:00
Olivier Perret
84b02bf407 fish.kak: fix edge cases in newline insertion 2016-10-22 10:19:19 +02:00
Dimitar Dimitrov
d5e0426a77 Avoid problems when the message contains comas 2016-10-21 15:01:09 +01:00
Martin Chaine
d7d79af8b4 Add taskpaper basic support 2016-10-21 13:32:17 +02:00
Dimitar Dimitrov
9529aa7020 Use -s for functions 2016-10-21 10:42:41 +01:00
Dimitar Dimitrov
52d1929d81 Add a spell replace function 2016-10-21 10:42:41 +01:00
Maxime Coste
dcebdd54f3 Merge remote-tracking branch 'lenormf/fix-spell' 2016-10-20 21:52:38 +01:00
Maxime Coste
f9f1b6a2b3 Merge remote-tracking branch 'kurkale6ka/sh_lint' 2016-10-20 21:51:55 +01:00
Dimitar Dimitrov
02ab268416 Sort 2016-10-20 12:08:42 +01:00
Dimitar Dimitrov
a773f2ba4b Add sh linter 2016-10-19 17:17:59 +01:00
Frank LENORMAND
ae08312bce Allow the spelling checks to run in the background
The escaping of the main shell script is also tidied up, and some
processes that were spawned for no reason are removed.
2016-10-18 15:14:37 +03:00
Maxime Coste
658d993d71 Try to fix autorestore posix compatibility 2016-10-17 21:31:56 +01:00
Maxime Coste
cf5bcdf1bb Merge remote-tracking branch 'lenormf/fix-formatcmd' 2016-10-17 18:28:57 +01:00
Maxime Coste
1431dcff46 Fix bug in c-family indentation logic after visibility labels
Fixes #872
2016-10-16 19:27:53 +01:00
Frank LENORMAND
ac42ea414e Add commenting characters to all supported languages
The default commenting character is now '#', considering the superior
amount of files that use it for comments compared to the previous
C-style comment characters.

The logic now also prioritize the opening commenting characters if they
contain a colon, to be able to use selection commenting on markdown
files.
2016-10-15 11:07:21 +03:00
Frank LENORMAND
68d3eda270 Miscellaneous fixes to the commenting.kak script
This commit properly produces backslash characters within double quote
strings instead of hoping the shell will not recognize the escape
sequence that they form with the following character. Use the proper
POSIX function declaration form.

The uncommenting logic now also ignores trailing newline characters,
which shortens the amount of operations needed to uncomment a selection.
2016-10-14 22:15:35 +03:00
Frank LENORMAND
5db1d1beef Move the commenting variables back to commenting.kak
Initialising the `comment_line_chars` and `comment_selection_chars` variables
in language support scripts created a hard dependency of those scripts
to `commenting.kak`, which would create errors when this script was not
loaded, e.g. when running tests.
2016-10-14 22:12:01 +03:00
Frank LENORMAND
67a8e8ca3c Remove all references to formatcmd
Initializing the `formatcmd` variable in the default language support
scripts created a dependency to the `formatter.kak` script, which we do
not want. Examples of such cases are when users haven't loaded the
`formatter.kak` script, or when Kakoune runs its test suite and
selectively loads some language scripts for testing purposes.
2016-10-14 19:16:45 +03:00
Maxime Coste
5af29b0254 Fix python comment copy logic in python.kak
And introduce the first unit test that sources bundled support
scripts.

Fixes #860
2016-10-13 20:13:05 +01:00
Maxime Coste
ee5c246861 Merge remote-tracking branch 'lenormf/fix-flake8' 2016-10-13 00:20:10 +01:00
Maxime Coste
e7f41b2dda Merge remote-tracking branch 'casimir/golang-rename' 2016-10-13 00:19:45 +01:00
Frank LENORMAND
8b5cf3feb0 Add a missing then keyword to an if statement 2016-10-12 15:35:25 +03:00
Frank LENORMAND
f6a2925950 Fix, complete and add docstring documentation to builtin commands
Level out the builtin commands loaded at startup in terms of format and
expressiveness. The following convention was followed:
* commands that take more than one argument have to be described along
  with their parameters prior to the actual documentation, otherwise the
  docstring consists in a capitalized sentence
  e.g. `command <arg1>: do something`
* optional arguments are enclosed in square brackets, to comply with the
  format used for hardcoded commands
  e.g. `cd [<directory>]`
* describe the effects of the command in the documentation string and
  omit implementation details unless they are relevant. Usually command
  names include the name of the tool they use, so they don't need to be
  redundantly mentioned
  e.g. `tmux-new-pane <arguments>: open a new pane`
* document the format the parameters to the commands, or list them if
  they are to be chosen among a list of static values (c.f. `spell.kak`)
2016-10-11 10:26:17 +03:00
Martin Chaine
3b6cafd692 Renamed dlang to d 2016-10-09 11:57:55 +02:00
Martin Chaine
e14804fada Renamed golang to go 2016-10-08 21:42:43 +02:00
Maxime Coste
d89959dfa8 autorestore.kak: more tweaks, a WIP version was pushed by error 2016-10-07 08:57:45 +01:00
Maxime Coste
1970cb68c9 Refactor autorestore.kak to make it faster 2016-10-06 22:35:07 +01:00
Maxime Coste
35a6d4916e Fix :doc completion candidates, they do not depend on the current word
Fixes #845
2016-10-06 13:38:49 +01:00
Maxime Coste
f67d5076c4 Tweak spell.kak, embrace printf and refactor a bit 2016-10-06 13:32:51 +01:00
Maxime Coste
92b4046ba8 Merge remote-tracking branch 'lenormf/fix-spell' 2016-10-06 09:27:50 +01:00
Frank LENORMAND
273455ecc8 Fix non POSIX instructions, print errors when they occur 2016-10-05 07:56:40 +03:00
Maxime Coste
8a4cf85e22 Use eval -no-hooks when writing the buffer in a tmp file for scripting purposes 2016-10-03 20:29:54 +01:00
Maxime Coste
4addf65042 Merge remote-tracking branch 'alexherbo2/fish-rc' 2016-10-02 20:38:55 +01:00
Maxime Coste
4d6af15734 Merge remote-tracking branch 'lenormf/fix-autowrap' 2016-10-02 20:26:36 +01:00
Maxime Coste
ae50b3f089 Fix clojure hook 2016-10-02 00:02:52 +01:00
Maxime Coste
1b9c8b9cf2 Fix hool -> hook in rc files 2016-10-01 14:09:59 +01:00
Maxime Coste
6e17ecfb6e Fix golang.kak highlighting hooks 2016-10-01 13:44:18 +01:00
Maxime Coste
e65aa4a6de Merge remote-tracking branch 'greduan/highlighter-group' 2016-10-01 13:43:21 +01:00
Frank LENORMAND
6ae1eaf97c Adapt to recent changes to exec's behavior, remove non POSIX double brackets 2016-09-29 09:55:44 +03:00
Maxime Coste
a66aed21c2 Merge remote-tracking branch 'lenormf/fix-flake8' 2016-09-28 21:47:09 +01:00
Maxime Coste
c77719bad0 Merge remote-tracking branch 'greduan/rename-ini-highlighter' 2016-09-28 21:46:31 +01:00
Maxime Coste
098c94b878 Do not automatically enable ranger on directory open errors
Use an explicit command that does that 'ranger-open-on-edit-directory'
and remove the file_manager option that is not needed anymore.
2016-09-28 19:34:29 +01:00
greduan
a68f5f20a1 Add highlight group to highlighters rmhl hooks 2016-09-28 08:45:01 +02:00
greduan
6c6359de93 Add highlight group to highlighters addhl hooks 2016-09-28 08:25:02 +02:00
greduan
f02c6633fb Do s/ini-highlighter/ini/ on rc/base/ini.kak 2016-09-28 08:23:21 +02:00
Alex Leferry 2
5c4eda5ba6 refactorize command hooks 2016-09-27 12:48:26 +02:00
Alex Leferry 2
c853e3a502 disable hooks 2016-09-27 12:48:24 +02:00
Alex Leferry 2
f0820bc83d slight refactor in _fish_filter_around_selections command 2016-09-27 12:47:42 +02:00
Alex Leferry 2
0e185c54ef compact commands 2016-09-27 11:36:43 +02:00
Maxime Coste
b74a268552 Merge remote-tracking branch 'lenormf/fix-markdown' 2016-09-27 09:36:42 +01:00
Alex Leferry 2
503b5bea4c add ranger.kak 2016-09-26 11:51:53 +02:00
Maxime Coste
0d5a1ddf4c Merge remote-tracking branch 'lenormf/fix-makefile' 2016-09-25 15:17:03 +01:00
Frank LENORMAND
b26d083627 Place the Makefile highlighting script alongside the make support script 2016-09-25 09:19:56 +03:00
Frank LENORMAND
7d51dca290 Indent after other keywords 2016-09-25 09:19:04 +03:00
Frank LENORMAND
048004f3a4 Allow dashes in target names for syntax highlighting 2016-09-25 09:13:39 +03:00
Frank LENORMAND
fbc2091df9 Rewrite some non POSIX conditionals 2016-09-24 12:49:19 +03:00
Frank LENORMAND
9a2f0c350b Add language highlighting to markdown code blocks
Fixes #808
2016-09-24 11:25:58 +03:00
Frank LENORMAND
24ef77704c Add more standard GNU keywords to the makefile completion keywords 2016-09-24 11:09:42 +03:00
Maxime Coste
6f8d5d2e1f Merge remote-tracking branch 'alexherbo2/ranger-rc' 2016-09-22 23:19:37 +01:00
Kylie McClain
3ec0cbd07a formatter.kak: Use sed rather than ${variable//string/replacement}
Using ${variable//string/replacement} is a bash extension, it is not part
of POSIX shell scripting.

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_02
2016-09-21 19:54:17 -04:00
Maxime Coste
80413e1e3a Merge remote-tracking branch 'alexherbo2/ruby-rc' 2016-09-19 09:26:04 +01:00
Maxime Coste
8deadcc318 Merge remote-tracking branch 'kurkale6ka/add_quotes' 2016-09-19 09:25:00 +01:00
Maxime Coste
94748713f2 Merge remote-tracking branch 'casimir/modeline-compat' 2016-09-19 09:23:13 +01:00
Alex Leferry 2
e18d145f96 highlight :: operator 2016-09-16 11:12:02 +02:00
Alex Leferry 2
bb911cc229 fixes symbol highlighting 2016-09-16 10:54:53 +02:00
Martin Chaine
a03cc59608 Use POSIX case and BRE 2016-09-09 16:48:49 +02:00
Alex Leferry 2
6e634c680a fixes 'end' insertion 2016-09-09 15:36:45 +02:00
Alex Leferry 2
5b99ef3197 disable hooks 2016-09-09 15:35:23 +02:00
Dimitar Dimitrov
b9ef5a2f2a Always use quotes with sh/bash 2016-09-09 12:04:55 +01:00
Martin Chaine
6faed96b68 Highlight diff in git-commit too 2016-09-07 13:50:21 +02:00
Maxime Coste
e9c63316f5 Tweak c-family indent logic 2016-09-05 23:33:34 +01:00
Frank LENORMAND
12ddf22761 Fix the directory from which the file containing a matching tag will be opened 2016-08-31 14:23:36 +03:00
Maxime Coste
80298a95a0 clang.kak: Use two sed processes instead of one to avoid extra long pattern space
The previous version was ending up with all the completion candidates
in a single, multiline pattern space, regex substitution on it was
extremely slow compared to the two process version where substitution
is always running on a single candidate.
2016-08-30 23:41:27 +01:00
Maxime Coste
7b81131071 Merge remote-tracking branch 'lenormf/fix-doc-completion' 2016-08-30 22:41:31 +01:00
Enrico Lumetti
5ee57f18df Invoke tmux only after checking its existence 2016-08-30 16:51:33 +02:00
Frank LENORMAND
47d9f4a993 Allow instant completion of doc pages
Closes #750
2016-08-30 17:25:34 +03:00
Alex Leferry 2
d3075c0325 add ranger.kak 2016-08-30 13:20:12 +02:00
Maxime Coste
551263c564 Use shell-candidates for :git command completion 2016-08-30 01:01:18 +01:00
Maxime Coste
3a24763d53 c-indent: only align to opening paren if it is on the immediate previous line 2016-08-09 18:45:13 +01:00
Maxime Coste
1119d00a96 Use shell-candidates for ctags completion, and cache tag names in a separate file 2016-08-06 06:51:33 +01:00
Maxime Coste
967a55d09f c-indent: Tweak implementation of c-family-insert-on-newline 2016-08-05 09:37:25 +01:00
Maxime Coste
19e36425f4 c-indent: Restore previous indent after a closing parenthesis 2016-08-05 09:05:47 +01:00
Maxime Coste
d836fe7d66 c-indent: fix align to opening paren touching too much text 2016-08-05 09:05:30 +01:00
Maxime Coste
b3f4840f45 Merge remote-tracking branch 'lenormf/fix-hooks-cfamily' 2016-08-05 08:07:41 +01:00
Maxime Coste
b80dbf9322 Move x11.kak and tmux.kak to rc/base from rc/core 2016-07-28 09:17:18 +01:00
Martin Chaine
82e28bce11 Move iterm.kak to rc/extra 2016-07-25 12:52:40 +02:00
Martin Chaine
fce5274f81 Introduce iTerm2 support (split, tab, window) 2016-07-25 12:23:56 +02:00
Maxime Coste
a95937918d Merge remote-tracking branch 'lenormf/fix-autowrap' 2016-07-19 21:36:05 +01:00
Kylie McClain
db4d188a42 rc/base/etc: Use a more efficient expression
I was hitting a stack size issue with the previous regular expression used
to match filesystem lines, so I decided to rewrite it. Admittedly I don't
know entirely if this has better performance, but it seems to work well
and additionally isn't too greedy with matching like the previous one.
2016-07-17 16:45:13 -04:00
Frank LENORMAND
78c6b7c03d Don't completely remove empty lines when fixing indents 2016-07-15 10:29:19 +03:00
Frank LENORMAND
843d03f2e7 Disable automatic paragraph formatting by default, work around the lack of string refill in fold 2016-07-14 17:32:56 +03:00
Frank LENORMAND
712c990592 Fix the selection patterns on corner cases 2016-07-14 17:21:35 +03:00
Frank LENORMAND
ba3c7bab06 Fix paragraph wrapping in the autowrap script 2016-07-14 16:40:08 +03:00
Frank LENORMAND
4204f6dae6 Create an insert group, fix and improve the existing hooks 2016-07-12 17:23:55 +03:00
Maxime Coste
bbceae97a2 Fix uses of <c-m> in rc files, <ret> should be used now 2016-07-11 19:47:56 +01:00
Maxime Coste
6bcfc7268f Merge remote-tracking branch 'lenormf/fix-sh-operators' 2016-07-09 12:48:21 +01:00
Frank LENORMAND
3f71fb9640 Use POSIX fold instead of fmt 2016-07-08 18:02:39 +03:00
Frank LENORMAND
a605497553 Fix the autowrap script, use an external tool to wrap paragraphs 2016-07-08 13:50:47 +03:00
Frank LENORMAND
7419f8241a Fix operators highlighting in shell scripts 2016-07-08 13:13:08 +03:00
Maxime Coste
0c825af771 Merge remote-tracking branch 'lenormf/fix-kakrc-highlight' 2016-06-27 21:00:22 +01:00
Maxime Coste
df38d1539b Change ctags autoinfo to run on {Normal,Insert}Idle 2016-06-27 20:55:49 +01:00