diff --git a/vimscript-info/VIMSCRIPT_ROADMAP.md b/vimscript-info/VIMSCRIPT_ROADMAP.md index 403dd5fc4..69494803a 100644 --- a/vimscript-info/VIMSCRIPT_ROADMAP.md +++ b/vimscript-info/VIMSCRIPT_ROADMAP.md @@ -1,5 +1,5 @@ # Vimscript -## Done in current release +## IdeaVim 1.7.0 - [x] expressions: binary, unary, ternary, function calls, sublists, options, registers, variables, lists, dictionaries - [x] `if` condition - [x] `for` and `while` loops @@ -30,35 +30,37 @@ - [x] `dict` function flag - [x] anonymous functions - [x] default value in functions e.g. `function F1(a, b = 10)` -- [ ] `has("ide")` or "ide" option +- [x] `has("ide")` or "ide" option - [x] reduce number of rules in grammar -- [ ] classic package structure -- [ ] loggers +- [x] classic package structure ### IdeaVim 1.9.0 -- [ ] vim "special" type -- [ ] make `LibraryFunction` return `Result` -- [ ] exception wrapping in try/catch -- [ ] store exception messages in property file -- [ ] store vim exception stacktrace in ExException -- [ ] expression register (`<C-R>=`) -- [ ] update tests to JUnit 5 -- [ ] rethink vimscript tests +- [ ] classloading +- [ ] pass scopes to functions e.g. `for k in keys(s:)` +- [ ] support `for [a, b] in {expr}` +- [ ] curly-braces-names - [ ] pass Lists and Dictionaries by reference - [ ] variable locking (`lock`, `unlock`, `const`) - [ ] rewrite OptionManager to vim data types - [ ] scoped options - [ ] `normal` command - [ ] `finish` statement -- [ ] context dependent parsing e.g. `dict.key` -- [ ] improve `w:` and `t:` scopes -- [ ] `v:` scope -- [ ] curly-braces-names -- [ ] pass scopes to functions e.g. `for k in keys(s:)` -- [ ] all the let command's cases (e.g. registers) -- [ ] delayed parsing of if/for/while etc. - +- [ ] vim "special" type +- [ ] `v:` scope +- [ ] make `LibraryFunction` return `Result` +- [ ] exception wrapping in try/catch +- [ ] store exception messages in property file +- [ ] store vim exception stacktrace in ExException +- [ ] update tests to JUnit 5 +- [ ] rethink vimscript tests +- [ ] loggers + ## Less important things that might be added soon -- [ ] add `-range` option to `command` command \ No newline at end of file +- [ ] all the let command's cases (e.g. registers) +- [ ] expression register (`<C-R>=`) +- [ ] improve `w:` and `t:` scopes +- [ ] delayed parsing of if/for/while etc. +- [ ] context dependent parsing e.g. `dict.key` +- [ ] add `-range` option to `command` command