diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-04-21 18:09:37 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-04-21 18:09:37 +0200 |
commit | 11e3c5ba820325b69cb56f70e13c21d7b8808d33 (patch) | |
tree | fce34aa15c9f5fbd6244f451dd37e8580fdb2cf3 /runtime/doc | |
parent | 459fbdbf9216bc7b4721fc192e08b35039036caa (diff) |
Update runtime files
Diffstat (limited to 'runtime/doc')
-rw-r--r-- | runtime/doc/Makefile | 2 | ||||
-rw-r--r-- | runtime/doc/ft_raku.txt | 126 | ||||
-rw-r--r-- | runtime/doc/options.txt | 2 | ||||
-rw-r--r-- | runtime/doc/tags | 3 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 31 | ||||
-rw-r--r-- | runtime/doc/usr_12.txt | 6 | ||||
-rw-r--r-- | runtime/doc/usr_41.txt | 22 |
7 files changed, 160 insertions, 32 deletions
diff --git a/runtime/doc/Makefile b/runtime/doc/Makefile index e5ff1646ce..e0c0f841e8 100644 --- a/runtime/doc/Makefile +++ b/runtime/doc/Makefile @@ -31,6 +31,7 @@ DOCS = \ fold.txt \ ft_ada.txt \ ft_ps1.txt \ + ft_raku.txt \ ft_rust.txt \ ft_sql.txt \ gui.txt \ @@ -175,6 +176,7 @@ HTMLS = \ fold.html \ ft_ada.html \ ft_ps1.html \ + ft_raku.html \ ft_rust.html \ ft_sql.html \ gui.html \ diff --git a/runtime/doc/ft_raku.txt b/runtime/doc/ft_raku.txt new file mode 100644 index 0000000000..26ada8a140 --- /dev/null +++ b/runtime/doc/ft_raku.txt @@ -0,0 +1,126 @@ +*vim-raku.txt* The Raku programming language filetype + + *vim-raku* + +Vim-raku provides syntax highlighting, indentation, and other support for +editing Raku programs. + +1. Using Unicode in your Raku files |raku-unicode| + +============================================================================== +1. Using Unicode in your Raku files *raku-unicode* + +Defining new operators using Unicode symbols is a good way to make your +Raku program easy to read. See: +https://perl6advent.wordpress.com/2012/12/18/day-18-formulas-resistance-is-futile/ + +While Raku does define ASCII alternatives for some common operators (see +https://docs.raku.org/language/unicode_ascii), using the full range of +Unicode operators is highly desirable. Your operating system provides input +facilities, but using the features built in to Vim may be preferable. + +The natural way to produce these symbols in Vim is to use digraph shortcuts +(:help |digraphs-use|). Many of them are defined; type `:digraphs` to get +the list. A convenient way to read the list of digraphs is to save them in a +file. From the shell: > + vim +'redir >/tmp/vim-digraphs-listing.txt' +digraphs +'redir END' +q + +Some of them are available with standard Vim digraphs: + << « /0 ∅ !< ≮ ~ + >> » Ob ∘ !> ≯ ~ + ., … 00 ∞ (C ⊂ ~ + (U ∩ -: ÷ )C ⊃ ~ + )U ∪ (_ ⊆ >= ≥ ~ + ?= ≅ )_ ⊇ =< ≤ ~ + (- ∈ ?= ≅ != ≠ ~ + -) ∋ ?- ≃ ~ + +The Greek alphabet is available with '*' followed by a similar Latin symbol: + *p π ~ + *t τ ~ + *X × ~ + +Numbers, subscripts and superscripts are available with 's' and 'S': + 0s ₀ 0S ⁰ ~ + 1s ₁ 1S ¹ ~ + 2s ₂ 9S ⁹ ~ + +But some don´t come defined by default. Those are digraph definitions you can +add in your ~/.vimrc file. > + exec 'digraph \\ '.char2nr('∖') + exec 'digraph \< '.char2nr('≼') + exec 'digraph \> '.char2nr('≽') + exec 'digraph (L '.char2nr('⊈') + exec 'digraph )L '.char2nr('⊉') + exec 'digraph (/ '.char2nr('⊄') + exec 'digraph )/ '.char2nr('⊅') + exec 'digraph )/ '.char2nr('⊅') + exec 'digraph U+ '.char2nr('⊎') + exec 'digraph 0- '.char2nr('⊖') + " Euler's constant + exec 'digraph ne '.char2nr('𝑒') + " Raku's atomic operations marker + exec 'digraph @@ '.char2nr('⚛') + +Alternatively, you can write Insert mode abbreviations that convert ASCII- +based operators into their single-character Unicode equivalent. > + iabbrev <buffer> !(<) ⊄ + iabbrev <buffer> !(<=) ⊈ + iabbrev <buffer> !(>) ⊅ + iabbrev <buffer> !(>=) ⊉ + iabbrev <buffer> !(cont) ∌ + iabbrev <buffer> !(elem) ∉ + iabbrev <buffer> != ≠ + iabbrev <buffer> (&) ∩ + iabbrev <buffer> (+) ⊎ + iabbrev <buffer> (-) ∖ + iabbrev <buffer> (.) ⊍ + iabbrev <buffer> (<) ⊂ + iabbrev <buffer> (<+) ≼ + iabbrev <buffer> (<=) ⊆ + iabbrev <buffer> (>) ⊃ + iabbrev <buffer> (>+) ≽ + iabbrev <buffer> (>=) ⊇ + iabbrev <buffer> (\|) ∪ + iabbrev <buffer> (^) ⊖ + iabbrev <buffer> (atomic) ⚛ + iabbrev <buffer> (cont) ∋ + iabbrev <buffer> (elem) ∈ + iabbrev <buffer> * × + iabbrev <buffer> **0 ⁰ + iabbrev <buffer> **1 ¹ + iabbrev <buffer> **2 ² + iabbrev <buffer> **3 ³ + iabbrev <buffer> **4 ⁴ + iabbrev <buffer> **5 ⁵ + iabbrev <buffer> **6 ⁶ + iabbrev <buffer> **7 ⁷ + iabbrev <buffer> **8 ⁸ + iabbrev <buffer> **9 ⁹ + iabbrev <buffer> ... … + iabbrev <buffer> / ÷ + iabbrev <buffer> << « + iabbrev <buffer> <<[=]<< «=« + iabbrev <buffer> <<[=]>> «=» + iabbrev <buffer> <= ≤ + iabbrev <buffer> =~= ≅ + iabbrev <buffer> >= ≥ + iabbrev <buffer> >> » + iabbrev <buffer> >>[=]<< »=« + iabbrev <buffer> >>[=]>> »=» + iabbrev <buffer> Inf ∞ + iabbrev <buffer> atomic-add-fetch ⚛+= + iabbrev <buffer> atomic-assign ⚛= + iabbrev <buffer> atomic-fetch ⚛ + iabbrev <buffer> atomic-dec-fetch --⚛ + iabbrev <buffer> atomic-fetch-dec ⚛-- + iabbrev <buffer> atomic-fetch-inc ⚛++ + iabbrev <buffer> atomic-inc-fetch ++⚛ + iabbrev <buffer> atomic-sub-fetch ⚛−= + iabbrev <buffer> e 𝑒 + iabbrev <buffer> o ∘ + iabbrev <buffer> pi π + iabbrev <buffer> set() ∅ + iabbrev <buffer> tau τ +< + vim:tw=78:ts=8:noet:ft=help:norl: diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 1f4c7e703c..266ab46e3f 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 8.2. Last change: 2021 Apr 16 +*options.txt* For Vim version 8.2. Last change: 2021 Apr 17 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/tags b/runtime/doc/tags index ddc4ce0218..2af7217cc1 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -8718,6 +8718,7 @@ quotestar gui.txt /*quotestar* quote~ change.txt /*quote~* r change.txt /*r* r.vim syntax.txt /*r.vim* +raku-unicode ft_raku.txt /*raku-unicode* rand() eval.txt /*rand()* random eval.txt /*random* range() eval.txt /*range()* @@ -10129,6 +10130,8 @@ vim-dev intro.txt /*vim-dev* vim-mac intro.txt /*vim-mac* vim-modes intro.txt /*vim-modes* vim-modes-intro intro.txt /*vim-modes-intro* +vim-raku ft_raku.txt /*vim-raku* +vim-raku.txt ft_raku.txt /*vim-raku.txt* vim-script-intro usr_41.txt /*vim-script-intro* vim-use intro.txt /*vim-use* vim-variable eval.txt /*vim-variable* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 0a00f0ff8c..612e28c89e 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 8.2. Last change: 2021 Apr 17 +*todo.txt* For Vim version 8.2. Last change: 2021 Apr 21 VIM REFERENCE MANUAL by Bram Moolenaar @@ -38,22 +38,7 @@ browser use: https://github.com/vim/vim/issues/1234 *known-bugs* -------------------- Known bugs and current work ----------------------- -make "skiprtp" also omit 'packpath'? - -- Implement blob index and slice assignment? - Make all of test_blob run in three ways - Vim9 - Make everything work: -- use CheckLegacyAndVim9Success(lines) in many more places -- For builtin functions using tv_get_string*() use check_for_string() to be - more strict about the argument type (not a bool). - done: balloon_() -- Check many more builtin function arguments at compile time. - map() could check that the return type of the function argument matches - the type of the list or dict member. (#8092) -- Compile replacement of :s command: s/pat/\=expr/ -- Compile redir to local variable: var_redir_start(). -- Implement type cast at the script level. - Compile builtin functions that access local variables: islocked() - When evaluating constants for script variables, some functions could work: @@ -70,11 +55,15 @@ Vim9 - Make everything work: - give an error for "echo Func()" if Func() does not return anything. - Using "windo echo expr" does not accept a line break inside "expr" (in a :def function and at script level in a not executed block). #7681 -- "assert_fails()" cannot access local variables. Perhaps add this: - assertfails - ... cmd ... - endassertfails /E99:.*cmd/ - Similar to try/catch/endtry but without the boilerplate. +- use CheckLegacyAndVim9Success(lines) in many more places +- For builtin functions using tv_get_string*() use check_for_string() to be + more strict about the argument type (not a bool). + done: balloon_() +- Check many more builtin function arguments at compile time. + map() could check that the return type of the function argument matches + the type of the list or dict member. (#8092) +- Allow for using an autoload function name without quotes. It is then loaded + (and compiled) right away. #8124 Once Vim9 is stable: - Change the help to prefer Vim9 syntax where appropriate diff --git a/runtime/doc/usr_12.txt b/runtime/doc/usr_12.txt index f1af6be194..7781f8e388 100644 --- a/runtime/doc/usr_12.txt +++ b/runtime/doc/usr_12.txt @@ -1,4 +1,4 @@ -*usr_12.txt* For Vim version 8.2. Last change: 2017 Aug 11 +*usr_12.txt* For Vim version 8.2. Last change: 2021 Apr 19 VIM USER MANUAL - by Bram Moolenaar @@ -180,14 +180,14 @@ after it. That way you don't have this problem again. The |:global| command can be combined with the |:move| command to move all the lines before the first line, resulting in a reversed file. The command is: > - :global/^/m 0 + :global/^/move 0 Abbreviated: > :g/^/m 0 The "^" regular expression matches the beginning of the line (even if the line -is blank). The |:move| command moves the matching line to after the mythical +is blank). The |:move| command moves the matching line to after the imaginary zeroth line, so the current matching line becomes the first line of the file. As the |:global| command is not confused by the changing line numbering, |:global| proceeds to match all remaining lines of the file and puts each as diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt index f0e1ee5c14..f34891a905 100644 --- a/runtime/doc/usr_41.txt +++ b/runtime/doc/usr_41.txt @@ -1,4 +1,4 @@ -*usr_41.txt* For Vim version 8.2. Last change: 2021 Mar 14 +*usr_41.txt* For Vim version 8.2. Last change: 2021 Apr 19 VIM USER MANUAL - by Bram Moolenaar @@ -115,12 +115,20 @@ if you are impatient. FOUR KINDS OF NUMBERS -Numbers can be decimal, hexadecimal, octal or binary. A hexadecimal number -starts with "0x" or "0X". For example "0x1f" is decimal 31. An octal number -starts with a zero. "017" is decimal 15. A binary number starts with "0b" or -"0B". For example "0b101" is decimal 5. Careful: don't put a zero before a -decimal number, it will be interpreted as an octal number! - The ":echo" command always prints decimal numbers. Example: > +Numbers can be decimal, hexadecimal, octal or binary. + +A hexadecimal number starts with "0x" or "0X". For example "0x1f" is decimal +31. + +An octal number starts with "0o", "0O" or a zero and another digit. "0o17" is +decimal 15. Using just a zero prefix is not supported in Vim9 script. + +A binary number starts with "0b" or "0B". For example "0b101" is decimal 5. + +A decimal number is just digits. Careful: don't put a zero before a decimal +number, it will be interpreted as an octal number in legacy script! + +The ":echo" command always prints decimal numbers. Example: > :echo 0x7f 0o36 < 127 30 ~ |