diff options
| author | Ivan Tham <pickfire@riseup.net> | 2020-05-30 19:34:59 +0800 |
|---|---|---|
| committer | Ivan Tham <pickfire@riseup.net> | 2020-05-31 11:47:47 +0800 |
| commit | 4ccb5fd315641aed96ebdcd9391f03bd22e3f541 (patch) | |
| tree | 76593ed30951f2ade4a3629a5ae94a9838e76246 /rc/filetype | |
| parent | 479790633bd6c3c7a2845230d568563abfdc9868 (diff) | |
Highlight doc tests in rust
Feels a big laggy when system overloaded
Diffstat (limited to 'rc/filetype')
| -rw-r--r-- | rc/filetype/rust.kak | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/rc/filetype/rust.kak b/rc/filetype/rust.kak index 69392cf7..8dfd0929 100644 --- a/rc/filetype/rust.kak +++ b/rc/filetype/rust.kak @@ -34,9 +34,34 @@ add-highlighter shared/rust regions add-highlighter shared/rust/code default-region group add-highlighter shared/rust/string region %{(?<!')"} (?<!\\)(\\\\)*" fill string add-highlighter shared/rust/raw_string region -match-capture %{(?<!')r(#*)"} %{"(#*)} fill string -add-highlighter shared/rust/comment region -recurse "/\*" "/\*" "\*/" fill comment -add-highlighter shared/rust/documentation region "//[!/]" "$" fill documentation -add-highlighter shared/rust/line_comment region "//" "$" fill comment + +add-highlighter shared/rust/line_doctest region ^\h*//[!/]\h*```($|should_panic|no_run|ignore|allow_fail|rust|test_harness|compile_fail|E\d{4}|edition201[58]) ^\h*//[!/]\h*```$ regions +add-highlighter shared/rust/line_doctest/marker region ```.* $ group +add-highlighter shared/rust/line_doctest/marker/fence regex ``` 0:meta +add-highlighter shared/rust/line_doctest/marker/keywords regex [\d\w] 0:meta # already matched above, just ignore comma +add-highlighter shared/rust/line_doctest/inner region '^\h*//[!/]\h+#' ' ' group +add-highlighter shared/rust/line_doctest/inner/comment regex //[!/] 0:documentation +add-highlighter shared/rust/line_doctest/inner/hidden regex '#' 0:meta +add-highlighter shared/rust/line_doctest/comment region ^\h*//[!/] ' ' fill documentation +add-highlighter shared/rust/line_doctest/code default-region ref rust +add-highlighter shared/rust/line_code_rest region ^\h*//[!/]\h*``` ^\h*//[!/]\h*```$ fill documentation # reset invalid doctest +add-highlighter shared/rust/line_comment2 region //[!/]{2} $ fill comment +add-highlighter shared/rust/line_doc region //[!/] $ fill documentation +add-highlighter shared/rust/line_comment1 region // $ fill comment + +add-highlighter shared/rust/block_comment2 region -recurse /\*\*\* /\*\*\* \*/ fill comment +add-highlighter shared/rust/block_doc region -recurse /\*\* /\*\* \*/ regions +add-highlighter shared/rust/block_doc/doctest region ```($|should_panic|no_run|ignore|allow_fail|rust|test_harness|compile_fail|E\d{4}|edition201[58]) ```$ regions +add-highlighter shared/rust/block_doc/doctest/marker region ```.* $ group +add-highlighter shared/rust/block_doc/doctest/marker/fence regex ``` 0:meta +add-highlighter shared/rust/block_doc/doctest/marker/keywords regex [\d\w] 0:meta # already matched above, just ignore comma +add-highlighter shared/rust/block_doc/doctest/inner default-region group +add-highlighter shared/rust/block_doc/doctest/inner/hidden regex '^\h*\**\h*#' 0:meta +add-highlighter shared/rust/block_doc/doctest/inner/comment regex ^\h*\* 0:documentation +add-highlighter shared/rust/block_doc/doctest/inner/code ref rust +add-highlighter shared/rust/block_doc/code_rest region ``` ``` fill documentation +add-highlighter shared/rust/block_doc/doc default-region fill documentation +add-highlighter shared/rust/block_comment1 region -recurse /\* /\* \*/ fill comment add-highlighter shared/rust/macro_attributes region -recurse "\[" "#!?\[" "\]" regions add-highlighter shared/rust/macro_attributes/ default-region fill meta |
