mirror of
https://github.com/chylex/IntelliJ-IdeaVim.git
synced 2025-12-19 18:58:51 +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
ifconditionforandwhileloopstry/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 toScriptclass - move
l:anda:scoped variables to theFunctionDeclarationclass closurefunction flag..as concatenation operator- falsy operator
?? - access dictionary value by
dict.key abortfunction flagrangefunction flagcallcommand- optional arguments
... - funcref type
- lambdas
- function as method
functionfunctionfuncreffunctiondictfunction 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
finishstatement- pass Lists and Dictionaries by reference
- variable locking
- rewrite OptionManager to vim data types
- scoped options
normalcommand- expression register (
<C-R>=)
Plans for the next releases:
IdeaVim 1.10.0
Resultclass 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
-rangeoption tocommandcommand - better strings (e.g.
"\<Esc")