todo
Issues:
- Add nodcache version check.
- Mutex. Prevent multiple instances of noodle from writing metadata simultaneously.
- Disallow edits on the (
base
and (can be allowed with added automation))meta
layer(s). - Implement temp files to avoid data-loss if we crash during a save.
- Deprecate and remove
.untracked
layer. - Improve behaviour of
out
command. Current behaviour is unintuitive. - Missing
rotate
command. - Find equivalents of xdg-mime to enable
open
command on MacOS and Windows. - Allow special characters in doodle names per OS or filesystem with additional noodle constraints. This also ties into the next point.
- Fix autocomplete to allow certain special characters and quoted doodle names “like this.jpeg”, “or-like-this”. This should also fix the issue where it doesn’t always autocomplete file extensions. No backslash escaping.
- Don’t erase previous output when redrawing tree.
-
flatten
should not create a layer if the selection is empty. -
project
should not create a layer if the selection is empty. - Fix monochrome. Sometimes it uses white when it should use neutral.
- Layertrace colouring should always prioritize the current layer.
- Allow renaming directories.
Features:
- Fix anything that says
NOT_IMPLEMENTED
in the code. - Implement
replace
command. The replacement doodle can be pre-existing. - Implement
bubble
command. Don’t forget the interaction with merge. If you merge witha directory there’s potential for bubbling. - Implement
select inverse
subcommand. It inverts the selection based on the current display. - Implement
export
command. - Implement
.noodle/ignore
file - Implement auto-select behaviours for complex manipulations.
- Implement auto-rotate behaviours for navigation commands.
- Add
.noodle/ignore
to ignore subdrectories and files. - Select by layer.
- Implement
explore
command. - Add bang
!
for executing shell commands in noodle REPL. - A procedurally animated version of the N in
about
. - Autorotate
- Implement
splore
command. Uses meta layer to find doodles near the subgraph. - Implement
around
command. Like focus followed bysplore
in one. - Autoselect
-
Ctl+Space
should toggle selection on the root doodle.
Improvements:
-
remove
command should be contextual. That is, it should account for the current display not just the layermask. - Multithreading for
status
calculations. - Improve character support in autocomplete.
- Tighter integration with std::filesystem. Helps with OS agnosticism.
- Integration with std::algorithm (improves readability).
- Better colour-picking algorithm that more sensibly covers the gamut. Currently, colours are evenly interpolated along an RGB-triangle-outline.
- Improve argument parsing in repl (nicer code).
- Formatting for the
about
blurb. - Formatting for the output of
status
. -
text
should use the CalculateBaseLink() algo to put the new file in a good path, not just the root