-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathTODO
76 lines (75 loc) · 2.98 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
65
66
67
68
69
70
71
72
73
74
75
76
TODO alpha
[X] Move all of the socket repl stuff to a plugin project
[X] Make buffer-get-text-async work, just test it at the repl
[X] Get "eval-code" working
[X] Figure out how to accumulate / display results in vim
[X] append it all to a file
[X] preferably a temp file (could be a lot of data)
[X] `:ShowRepl`
no vimscript, invoke a plugin function
show the contents of the temp file in the current buffer
make it autoread
[X] Name vim functions correctly
[X] create prod & debug plugin.vim
[X] add debug switch (var) to socket-repl-plugin.clj
[X] errors in the middle of a buffer
can be lost - wrap in eval?
[X] implement doc (word under cursor)
Results buffer
A single buffer, like NerdTree, but on far right
`show-log`
[X] Only display if not already visible
use `buffer-visible?-async`
[X] not working, might need buffer property
buffer created by terminal has name we can't control
we could read it back in and store it
if not, :botright vnew, existing command
[X] After showing the log, return cursor to original buffer
[X] Dismiss log w/ `q` from log buffer
[X] Dismiss log w/ `,drlog` from anywhere
[X] Auto-show any time an eval, doc, happens
[X] Add docs for this & customization story
[X] Pass host, port in connect
[X] Make sure :Connect works with no args, or host:port arg
[X] Update debug vimscript
[_] Update README
[X] Move NVIM_LISTEN... stuff to a debug section
[_] demo video
[X] architecture diagram
nvim<--msgpack/stdio-->plugin(jar)<--localhost:5555-->socketrepl
[X] Error handle repl server not running
Connection localhost:3333
Then trying an ,eb doesn't fail gracefully
->Exception in logs, current-connection still nil?
[X] Script debugging
[X] nvim listening to socket, sourced debug script
[X] plugin process running a repl
[X] automatically connect to nvim, with socketrepl main
[X] another clojure process w/ socket repl on 5555
[X] docs
You still have to :Connect from nvim
[X] Fix `go` usage, no i/o
[X] Global state
[X] `user` should also have a `reset` to stop -> start
Working towards getting rid of `current-connection`
[X] Make a repl log component
[X] Refactor names of things in the `socket-repl-cnn` atom
[_] Can we use a multimethod rather than register-method?
possibly wrap w/ async/thread
[_] Enhance debugging
[X] Comment new debug script function
[X] Starting plugin should be async, locked, subsequent calls
to start whilie in progress tell you its starting
[X] plugin script has global status var
let g:..._ready = 0
[X] plugin notifies neovim that it is ready
echo "started"
let g:..._ready = 1
[X] plugin script blocks commands until ready
echo "not started"
[X] start the jar on plugin load, unless user disables it by
setting a global var
[X] provide a :Start command to run it manually
[_] Document / video process for debugging, including refresh, restart
and reconnect
[X] debug restart function should close repl log