1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2025-05-07 13:34:02 +02:00

Update roadmap

This commit is contained in:
lippfi 2021-10-11 01:37:30 +03:00
parent 898e5f8bda
commit b8a8acdad7

View File

@ -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
- [ ] 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