1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2025-04-17 22:15:46 +02:00

Update roadmap

This commit is contained in:
lippfi 2021-11-18 10:55:21 +03:00
parent cf5cc92258
commit c48cf1a2f7

View File

@ -9,7 +9,6 @@
- [x] scopes: `g:`, `s:`, `l:`, `a:`, `b:`, `w:`, `t:` (the `v:` scope is not supported yet) - [x] scopes: `g:`, `s:`, `l:`, `a:`, `b:`, `w:`, `t:` (the `v:` scope is not supported yet)
- [x] `map <expr>` - [x] `map <expr>`
## Plans for the next releases:
### IdeaVim 1.8.0 ### IdeaVim 1.8.0
- [x] move `s:` scoped variables to `Script` class - [x] move `s:` scoped variables to `Script` class
@ -35,47 +34,39 @@
- [x] classic package structure - [x] classic package structure
### IdeaVim 1.9.0 ### IdeaVim 1.9.0
// basic language support
- [x] support `for [a, b] in {expr}` - [x] support `for [a, b] in {expr}`
- [x] pass scopes to functions e.g. `for k in keys(s:)` - [x] pass scopes to functions e.g. `for k in keys(s:)`
- [x] curly-braces-names - [x] curly-braces-names
- [x] `finish` statement - [x] `finish` statement
// variable service
- [x] pass Lists and Dictionaries by reference - [x] pass Lists and Dictionaries by reference
- [x] variable locking - [x] variable locking
- [x] rewrite OptionManager to vim data types
- [x] scoped options
- [x] `normal` command
- [x] expression register (`<C-R>=`)
// option service ## Plans for the next releases:
- [ ] rewrite OptionManager to vim data types ### IdeaVim 1.10.0
- [ ] scoped options - [ ] `Result` class that would store the exceptions
// exceptions
- [ ] make `LibraryFunction` return `Result`
- [ ] throwing multiple exceptions at once - [ ] throwing multiple exceptions at once
- [ ] exception wrapping in try/catch - [ ] exception wrapping in try/catch
- [ ] store exception messages in property file - [ ] store exception messages in property file
- [ ] store vim exception stacktrace in ExException - [ ] store vim exception stacktrace
// big brain things ### Pool of things that might be added soon
- [ ] classloading
- [ ] executing context (script / command line) & better parent for executable - [ ] executing context (script / command line) & better parent for executable
- [ ] `normal` command - [ ] classloading
- [ ] all the let command's cases (e.g. registers)
- [ ] vim "special" type - [ ] vim "special" type
- [ ] `v:` scope - [ ] `v:` scope
- [ ] update tests to JUnit 5
// finishing touches - [ ] rethink vimscript tests
- [ ] update tests to JUnit 5
- [ ] rethink vimscript tests
- [ ] loggers - [ ] loggers
- [ ] todos, warnings - [ ] todos, warnings
## Less important things that might be added soon
- [ ] all the let command's cases (e.g. registers)
- [ ] expression register (`<C-R>=`)
- [ ] expressions in substitute command (`\=`) - [ ] expressions in substitute command (`\=`)
- [ ] vim status line and beautiful exceptions output - [ ] vim status line and beautiful exceptions output
- [ ] improve `w:` and `t:` scopes - [ ] improve `w:` and `t:` scopes
- [ ] delayed parsing of if/for/while etc.
- [ ] context dependent parsing e.g. `dict.key` - [ ] context dependent parsing e.g. `dict.key`
- [ ] add `-range` option to `command` command - [ ] add `-range` option to `command` command
- [ ] better strings (e.g. `"\<Esc"`)