Commit Graph

698 Commits

Author SHA1 Message Date
Martin Chaine
45fb4b6bac allow to override filename + remove existing hooks 2016-12-30 19:32:04 +01:00
Martin Chaine
292d9c9f01 fix BOM option value 2016-12-30 19:32:04 +01:00
Martin Chaine
88a8548017 fix typo 2016-12-30 19:32:04 +01:00
Martin Chaine
2c3b2e9b52 fix indent options and add whitespaces ones 2016-12-30 19:32:04 +01:00
Dan Rosén
5ddc28eaad Fix comment-leader auto-insertion
Fixes #1074
2016-12-29 01:39:02 +01:00
Alex Leferry 2
d80ebbc245 support ```[<space>…]<language> code block 2016-12-27 14:09:20 +01:00
Matthew Steedman
bedf0c77ae add 'extend' to ruby grammar
Technically `include` and `extend` are both just methods on `Module` and `Object`, respectively, but it I think we should have both or neither.
2016-12-25 14:01:56 -05:00
Harm Aarts
f9c860d235 Add Handlebars syntax highlighting.
This is based on the HAML syntax highlighting. Of note is the loading of
the html highlighter since Handlebars is embedded in html.
2016-12-21 21:31:05 +01:00
Leira Hua
6cbc9e0a34 Fixes #995 Documentation rendering problem
BSD sed doesn't accept ascii number with '\x', used printf to generate
\x8 as @lenormf suggested.
2016-12-20 02:31:55 -08:00
Leira Hua
e10f1e53fc fixed clang-complete on macOS, paste command need - to read from stdin 2016-12-18 23:18:15 -08:00
Maxime Coste
d8620b9e79 Merge remote-tracking branch 'leemachin/add-php-script' 2016-12-16 19:56:15 +00:00
Lee Machin
94d72c4bad Add basic PHP syntax highlighting
based on the highlighting for JS
2016-12-16 19:20:26 +02:00
Kylie McClain
516c9591b9 base/markdown: Correct italic/bold detection regex
As specified at https://daringfireball.net/projects/markdown/syntax#em
italics are made with either single asterisks/underscores, and bold is
double asterisks/underscores. Before this, single asterisks were
understood as bold, and only underscores were understood as italics;
both of which behaviors are incorrect.
2016-12-16 00:21:33 -05:00
Matt Schick
6deaed01de Add face 'GitDiffFlags' for git diff flag_lines
No defaults have been altered, just added the ability to do user override.  The existing facespec had a background of 'black', which ends up looking a little harsh for people who do black text on a white background.
2016-12-15 06:09:27 -08:00
Maxime Coste
85cd27138d Remove mimetype option for good
file.kak now is responsible for mapping whatever mimetype file uses
to the filetype that Kakoune uses.

Fixes #975
Fixes #979
2016-12-14 13:40:00 +00:00
Maxime Coste
1bdf26fd6e Merge remote-tracking branch 'casimir/remove-mimetype' 2016-12-14 13:30:59 +00:00
Maxime Coste
8e351e8285 Remove use of non-standard -l option in doc.kak
This will break BSD unfortunately, we should try to find a
portable fix for that.

Fixes #967
2016-12-14 01:02:53 +00:00
Maxime Coste
066d6d1120 Do not use find -printf in doc completion implementation 2016-12-14 00:59:19 +00:00
Maxime Coste
53e9496343 Remove the 'h' alias for doc, just provide 'help' 2016-12-14 00:08:23 +00:00
Noé Rubinstein
93620a76f0 doc.kak: add aliases for :h and :help
This would help VIM users find the documentation
2016-12-13 19:28:23 +01:00
Maxime Coste
a132985888 Fix uses of renamed make_current_error_line option
Fixes #952
2016-12-10 13:39:02 +00:00
Maxime Coste
0f486666e0 Remove underscore prefix from indent command in c-family.kak
We already define these commands as hidden, this underscore has
little value.
2016-12-09 13:51:44 +00:00
Maxime Coste
d8f00198f3 Improve C indentation support around namespace/struct closing bracket 2016-12-09 13:50:41 +00:00
Maxime Coste
ca225ad4dc Cleanup make.kak and optimize the make-next/make-prev regexes 2016-12-09 13:33:01 +00:00
Maxime Coste
5caa969947 Merge branch 'make/error-pattern' of git://github.com/pauldub/kakoune 2016-12-08 23:02:11 +00:00
Paul d'Hubert
010453a2ac Update make.rc error pattern matching
- Use the classic unix file:line:(col:)? pattern for matching.
- The option `make_error_pattern` can be used to further restrict errors
to be matched (to include / exclude warnings, etc.
2016-12-08 11:33:28 +01:00
Martin Chaine
5b95e537ba don't reset line chars for python 2016-12-08 11:18:16 +01:00
Martin Chaine
3227fa7b57 Fix python comment chars 2016-12-08 11:07:25 +01:00
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