-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
64 lines (63 loc) · 3.28 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
- [x] reading all buffers from table
- [x] create new buffer, if not existing
- [x] storage
- [x] DESIGN.md
- [x] delay execution until neovim is fully initialized
- [x] add cwd to dir
- [x] absolute minimal non-working base setup is working
- [x] basic operations (add dir, add file, remove dir, remove file)
- [x] define bidirectional lookup tree structure and annotation structure
- [x] finish search for buffer handle from criteria
- [x] first use case: simple searcher including history tracking
* telescope solves indirection better, but history is not a file
- [ ] operations also track transitive dependencies [dir1->{file1,..}]
* common paths are resolved (./..)
* cleanup operations from transitive dependencies
* simple and more complex test cases to ensure proper cleanup
- [ ] unify current annotation on buffer handles with dependency system
- [ ] cleanup for non-existing dirs and files
- [ ] user annotations
* [x] user examples (fill dirs, remove dirs)
* [ ] representation (dense draw, redraw, adding info)
* [ ] writing + reading from and to master buf (via autocommands)
* [ ] filtered writing + reading from and to master buf (via autocommands)
* [ ] filtered views
* [ ] autocmds
- [ ] absolute minimal (2 windows in tab view) scratch buffer view open
(save view context of tab) and closing (restore view context of tab) is working
* [ ] use dedicated scratch buffer
* [ ] vim.api.nvim_win_get_width({nr}) and set and height + getting the
window ids of visible tab should get me everything.
* [ ] loading and storing into file is working (compression json tooling?)
* [ ] forward compatibility with shada + mksession clarified
- [ ] test all functions
- [ ] test no config, full config, broken config
- [ ] directory storage
* [ ] representation (scratch, persistent, annotations)
* [ ] visualizing
* [ ] editing
- [ ] test coverage evaluation automation
- [ ] release 0.1 after everything is tested
- [ ] convention by example: how to handle plugins creating buffers + deleting them etc (hidden and non-hidden)
- [ ] convention by example: autocmds what things to drop before mks! ses or creating shada files
- [ ] convention by example: autocmds for what things to drop on exit
- [ ] test mks and shada
- [ ] test plugin handling of buffers
- [ ] test what things to drop on exit
- [ ] figure out neovim api for coloring text in buffer in some color
- [ ] run cli programs + get colored ouput [one-shot programs]
* posix_openpty, https://devblogs.microsoft.com/commandline/windows-command-line-introducing-the-windows-pseudo-console-conpty/
+ most likely in Zig
* LD_PRELOAD the is_tty call
* remove all non-color related ascii escape sequennces
- [ ] use terminal escape codes for the coloring in neovim
* vim.hightlight.range
* port relevant bits from https://github.com/chrisbra/Colorizer
- [ ] job execution history api
- [ ] screenhots
- [ ] release 0.2 after everything is tested and job api bugs are fixed.
deferred until more users:
- [ ] neovim/vim PR to store and load tab views from memory
* [ ] make screenshots / video how this would look like to sneak in the PR
- [ ] portability for non luajit users
* need more usage data how much we need to scale