Commit Graph

297 Commits

Author SHA1 Message Date
Dan Rosén
ef1a1e6bd3 Improve Haskell highlighter
Import keywords are put in keyword face instead of meta face.
This leaves room for pragmas and macros to be in the meta face.

Operator keywords are put in keyword face too.

Finally, expression keywords are put in face attribute.
2017-08-22 16:29:27 +02:00
Tim Allen
e640e6d859 Consecutive markdown list bullets are not a valid list prefix.
Previously, if you opened a new line after an underlined heading (what
the CommonMark spec calls a "Setext heading") or inserted a newline into
a line that started with `**strong emphasis**` the Markdown autoindent
hook would assume the leading symbols were list bullets and paste them
at the beginning of the new line.

However, the CommonMark specification says that list bullets must be
followed by at least one horizontal whitespace character, so Setext
heading underlines and strong emphasis are not valid list bullets and
should not be matched by the autoindent pattern.

This commit changes the regex that selects the pastable prefix of the
previous line so that it must match either:

  - One or more `>` characters with optional whitespace between them
    (a blockquote prefix), optionally followed by a list bullet; or
  - An optional blockquote prefix and a list bullet

Since we don't strictly need either the blockquote prefix nor the list
bullet, we could concievably just make both optional... but for lines
without either, the regex would find a zero-length match, and for the
purposes of copy/paste Kakoune treats that as a one-character match.
Therefore, the regex is written to fail if neither pattern is found.
2017-08-01 20:36:40 +10:00
Maxime Coste
337a38552b Fix sakura termcmd setup
Sakura `-e` is xterm compatible, so would require a `sh -c`, but it
also provides `-x` which takes a single argument, switch to that.
2017-07-25 10:26:52 +02:00
Maxime Coste
d1de9912c0 Merge remote-tracking branch 'lenormf/fix-git' into c++14 2017-07-19 17:20:18 +02:00
Maxime Coste
9c4448ac41 Remove echo -color support, superseeded by echo -markup
`echo -color Error "blah"` is the same as `echo -markup '{Error}blah'`
Fixes #1512
2017-07-19 17:18:52 +02:00
Frank LENORMAND
8687222518 rc git: Don't force a highlighting format on commits 2017-07-17 08:36:47 +03:00
Maxime Coste
52c8dc9d09 Highliight git MERGE_MSG files as commit messages 2017-07-08 13:39:48 +09:00
Maxime Coste
f41d78083a Use the extra_word_chars option in word based normal commands
the completion_extra_word_chars is now gone, superseeded by
extra_word_chars that gets used both for completion and for normal mode.

Fixes #1304
2017-06-26 15:28:41 +01:00
Maxime Coste
45ac100c21 Merge remote-tracking branch 'lenormf/fix-ctags-command-names' 2017-06-23 10:22:15 +01:00
Maxime Coste
d9edd3f013 Merge remote-tracking branch 'dianne/string-highlighter-fix' 2017-06-21 16:56:06 +01:00
Dianne Wagner
57cb2d0682 apply '"' highlighting fix to haskell as well 2017-06-18 19:18:14 -07:00
Dianne Wagner
3ae0d86b27 rust highlighter: '"' is not the start of a string
this uses the string opening regex from the c-family highlighter to prevent
highlighting the rest of the file as a string on encountering the character
literal '"'
2017-06-18 18:39:45 -07:00
Alex Leferry 2
585778057f Update command names 2017-06-16 13:53:03 +02:00
Frank LENORMAND
cb9a2e562b rc: Fix calls to mktemp
The GNU and BSD implementations differ on several points, this commit
hopefully finds a middle ground.
2017-06-16 11:51:46 +03:00
Frank LENORMAND
9a10d79ae8 rc ctags: Make commands follow the naming convention 2017-06-15 15:40:15 +03:00
Maxime Coste
398b2b115c Merge remote-tracking branch 'lenormf/fix-tmpdir-modules' 2017-06-12 05:06:14 +01:00
Frank LENORMAND
813d09a101 rc: Fix calls to mktemp
Allow `mktemp` to make use of the `TMPDIR` environment variable when
calling it with a template.

Don't use the deprecated `-t` flag.
2017-06-09 14:30:54 +03:00
Alex Leferry 2
105b35192f Add Alacritty 2017-06-08 19:02:44 +02:00
Delapouite
2acdafa325 Add SVG detection as xml in file.kak 2017-06-02 15:43:51 +02:00
Maxime Coste
f2f04d55fc Make the lint_errors a range-specs option in lint.kak
lint_errors are now maintained up to date with buffer changes.
2017-05-25 19:54:08 +01:00
Maxime Coste
c4db46b58b Rename line-flags option type to line-specs
Generalize this option type, which is a timestamped list of
<line number>|<arbitrary string>. That way this type is not strongly
coupled with the flag-lines highlighter, and can be reused for other
use cases.
2017-05-24 15:41:43 +01:00
Maxime Coste
c6508ee101 Merge remote-tracking branch 'lenormf/doc-public-options' 2017-05-21 07:09:37 +01:00
Maxime Coste
55d1d1020d Merge remote-tracking branch 'lenormf/rc-misc-fixes' 2017-05-19 21:53:02 +01:00
Maxime Coste
803895d581 Merge remote-tracking branch 'danr/Highlight-object-keys-in-yaml' 2017-05-19 21:37:31 +01:00
Maxime Coste
be8692bcdb Merge remote-tracking branch 'danr/Fix-reference-to-kakrc-highlighter-for-markdown' 2017-05-19 21:34:45 +01:00
Maxime Coste
eec8239c78 Highlight 'copied' file action in git-commit buffers 2017-05-17 20:19:56 +01:00
Maxime Coste
dfaafcd49a Rename range-faces to range-specs
range-faces are now used to replace-range highlighters, where the string
part is not interpretted as a face but as a display line, so the name was
not relevant anymore.
2017-05-17 19:40:52 +01:00
Frank LENORMAND
56837eaece rc: Use POSIX command -v instead of which 2017-05-16 18:20:19 +03:00
Frank LENORMAND
b9cdccd53a rc: Document non-hidden options with -docstring 2017-05-16 14:35:43 +03:00
Dan Rosén
736720f31a Highlight object keys in yaml 2017-05-16 09:30:01 +02:00
Dan Rosén
80570a0dc7 Fix reference to kakrc highlighter for markdown 2017-05-15 21:58:57 +02:00
Frank LENORMAND
9a138af17f rc: Properly modify tmux's environment with env 2017-04-17 22:55:37 +03:00
Frank LENORMAND
b6d055a87b rc: Export $TMPDIR to new tmux processes
`tmux` will start new processes (e.g. when creating panes or windows)
with the same environment it was started with, which means that if the
$TMPDIR variable was overriden for the kakoune server from within
`tmux`, newly created panes/windows won't have access to the server
socket to sustain a session.

This commit fixes the issue by always exporting the $TMPDIR variable
from the parent `tmux` environment to the new processes.

Fixes #1319
2017-04-09 09:20:25 +03:00
Maxime Coste
fa7f29a120 spell.kak: preserve spelling language from :spell in :spell-replace 2017-03-28 08:32:21 +01:00
Maxime Coste
b9317ba38c Change lint.kak column display to put it at the end 2017-03-10 12:41:01 +00:00
Maxime Coste
e888dae787 Merge remote-tracking branch 'kurkale6ka/lint_cols' 2017-03-10 12:28:17 +00:00
Maxime Coste
a0b42323ed Add a -debug flag to :edit to set the buffer as debug data
As for the *debug* buffer, buffers with the debug flag wont get
used for cycling through buffer, or word completion.
2017-03-08 19:33:25 +00:00
Delapouite
cdb076603c Add Symbol, async and await highlighting for javascript.kak 2017-03-05 19:25:15 +01:00
Maxime Coste
7d07064a41 Merge remote-tracking branch 'alexherbo2/rc-ocaml' 2017-03-03 21:11:06 +00:00
Maxime Coste
96625fc7ae Merge remote-tracking branch 'alexherbo2/rc-ruby' 2017-03-03 21:11:00 +00:00
Frank LENORMAND
947b518f03 rc: add a spell-next command 2017-03-01 22:16:28 +03:00
Frank LENORMAND
4ba7c7a2c4 rc: POSIX and cosmetic fixes in the spell script` 2017-03-01 16:14:02 +03:00
Alex Leferry 2
63f9f9bbc9 highlight hash access symbols 2017-02-28 09:48:17 +01:00
Alex Leferry 2
c0e402c06f add rc/ocaml.kak 2017-02-27 22:05:27 +01:00
Omar Polo
129424daea improved haskell comment regex 2017-02-21 21:26:05 +01:00
Maxime Coste
edc2a88643 Rename BufNew and BufOpen hooks to BufNewFile and BufOpenFile
Fixes #1225
2017-02-19 13:08:06 +00:00
Maxime Coste
f7d794d047 Merge remote-tracking branch 'nicholastmosher/faces' 2017-02-13 20:25:41 +00:00
Nick Mosher
e1927fa9c4 Adds faces module and function. Renames identifier face to variable. 2017-02-09 21:43:29 -05:00
Alex Leferry 2
d029af86af fix regex highlighting 2017-02-09 23:00:36 +01:00
Maxime Coste
6e39e8371a Improve POSIX sed compatibility in lint.kak
Fixes #1072
2017-01-31 22:42:43 +00:00
Maxime Coste
565d835d57 Fix option name in haskell.kak 2017-01-29 16:10:48 +00:00
Enrico Lumetti
05d76ecf9a Add quote to completion characters in haskell 2017-01-22 19:24:46 +01:00
Maxime Coste
10ac883b60 Use byte offsets in spell
Fixes #1126
2017-01-15 11:22:47 +00:00
Maxime Coste
474f22c429 Fix trailing space in yaml.kak 2017-01-14 21:05:40 +00:00
Bruno-Sosa
bcdee989d7 Empty commit
Bruno Sosa 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.
2017-01-14 21:54:14 +01:00
Bruno-Sosa
dcfdcf97c8 fix file YAML detection 2017-01-14 21:50:20 +01:00
Maxime Coste
83cb7b12bd Merge remote-tracking branch 'doppioandante/java-indent' 2017-01-14 14:50:52 +00:00
Enrico Lumetti
dabf78dfe4 Add auto indentation to java files
Adapted from d.kak.
Some missing keywords were added.
2017-01-13 21:36:49 +01:00
Tadeusz “tadzik” Sośnierz
1e6b05fc4c No need for two hooks for a single Perl highlighter. Thanks, casimir! 2017-01-13 16:03:40 +01:00
Tadeusz “tadzik” Sośnierz
a7666efd4f Unhardcode variable declarartion highliting in Perl code, colour them as identifiers instead 2017-01-13 14:59:20 +01:00
Tadeusz “tadzik” Sośnierz
635951e325 Treat .pm files as Perl code 2017-01-13 14:59:20 +01:00
Maxime Coste
5ad4499503 Fix naming conventions in bundled scripts
Do not use _ prefix for hidden commands, use - as a word separator
in command names.
2017-01-13 01:00:43 +00:00
Maxime Coste
91a56c11fe Various auto indent fixes regarding wrong use of x instead of <a-x> 2017-01-13 00:50:03 +00:00
Maxime Coste
5989903e7c Copy comments *before* copying indentation
Fixes #1118
2017-01-11 13:56:48 +00:00
Maxime Coste
faa18b3a8f Merge git://github.com/knubie/kakoune 2017-01-10 13:51:57 +00:00
Maxime Coste
343df600cb Merge remote-tracking branch 'alexherbo2/command-names' 2017-01-10 13:44:11 +00:00
Matt Schick
0d5cb79801 Add support for ES6 template literals to javascript highlighting 2017-01-06 07:27:21 -08:00
Alex Leferry 2
671b50bb52 update command names 2017-01-04 13:04:27 +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
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
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
a132985888 Fix uses of renamed make_current_error_line option
Fixes #952
2016-12-10 13:39:02 +00: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
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
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
Frank LENORMAND
94971e0e8a Introduce the builtin face, modify scripts accordingly 2016-11-24 17:06:45 +03: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
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
cb074793a0 Highlight numbers as values in json 2016-11-14 13:14:21 +00:00
Dimitar Dimitrov
8917c3662b Add column information 2016-11-09 22:36:33 +00:00
Martin Chaine
6271c60080 add missing builtins + clean duplicate interface 2016-11-07 11:10:38 +01: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
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
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
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
e7f41b2dda Merge remote-tracking branch 'casimir/golang-rename' 2016-10-13 00:19:45 +01: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
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
c77719bad0 Merge remote-tracking branch 'greduan/rename-ini-highlighter' 2016-09-28 21:46:31 +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
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
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
80413e1e3a Merge remote-tracking branch 'alexherbo2/ruby-rc' 2016-09-19 09:26:04 +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
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