Mercurial > vim
view runtime/doc/ft_raku.txt @ 33899:a9ccbadecda1 v9.0.2155
patch 9.0.2155: Vim9: type not kept when assigning vars
Commit: https://github.com/vim/vim/commit/d33518522a84b5625e663c1b608e1c68f9f58003
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Fri Dec 8 21:41:23 2023 +0100
patch 9.0.2155: Vim9: type not kept when assigning vars
Problem: Vim9: type not kept when assigning vars
Solution: When assigning a List or a Dict value to a variable of type
'any', keep the type
closes: #13639
closes: #13646
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 10 Dec 2023 15:16:34 +0100 |
parents | d19b7aee1925 |
children |
line wrap: on
line source
*ft_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: