mirror of
https://github.com/chylex/IntelliJ-IdeaVim.git
synced 2024-12-21 19:42:48 +01:00
2.4 KiB
2.4 KiB
Vimscript
IdeaVim 1.7.0
- expressions: binary, unary, ternary, function calls, sublists, options, registers, variables, lists, dictionaries
if
conditionfor
andwhile
loopstry
/catch
/finally
- function definition (without flags)
break
,continue
,throw
,return
- scopes:
g:
,s:
,l:
,a:
,b:
,w:
,t:
(thev:
scope is not supported yet) map <expr>
IdeaVim 1.8.0
- move
s:
scoped variables toScript
class - move
l:
anda:
scoped variables to theFunctionDeclaration
class closure
function flag..
as concatenation operator- falsy operator
??
- access dictionary value by
dict.key
abort
function flagrange
function flagcall
command- optional arguments
...
- funcref type
- lambdas
- function as method
function
functionfuncref
functiondict
function flag- anonymous functions
- default value in functions e.g.
function F1(a, b = 10)
has("ide")
or "ide" option- reduce number of rules in grammar
- classic package structure
IdeaVim 1.9.0
- support
for [a, b] in {expr}
- pass scopes to functions e.g.
for k in keys(s:)
- curly-braces-names
finish
statement- pass Lists and Dictionaries by reference
- variable locking
- rewrite OptionManager to vim data types
- scoped options
normal
command- expression register (
<C-R>=
)
Plans for the next releases:
IdeaVim 1.10.0
Result
class that would store the exceptions- throwing multiple exceptions at once
- exception wrapping in try/catch
- store exception messages in property file
- store vim exception stacktrace
Pool of things that might be added soon
- executing context (script / command line) & better parent for executable
- classloading
- all the let command's cases (e.g. registers)
- vim "special" type
v:
scope- update tests to JUnit 5
- rethink vimscript tests
- loggers
- todos, warnings
- expressions in substitute command (
\=
) - vim status line and beautiful exceptions output
- improve
w:
andt:
scopes - context dependent parsing e.g.
dict.key
- add
-range
option tocommand
command - better strings (e.g.
"\<Esc"
)