fork of that removes windows support and improves useability
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
3.2 KiB

[x] use system lua lib
[x] make it std=c11 not gnu11
[ ] make it compile on openbsd
[ ] update license, readme and documentation
[ ] add manpage
[x] add desktop file
[x] makefile: add install and uninstall
[ ] makefile fix permissions of installed data dir
[ ] SDL: disable key not recognized messages
[U] font: use system fonts
[ ] font: implement hashmap of already rendered glyphs and only re-draw the
ones that are not in that map
[ ] font: resize text on the fly
[ ] font: change font on the fly from a list of installed fonts
[ ] implement a user directory for fonts (like plugins)
[ ] ui: change ui scale on the fly
[x] add menu to exec arbitrary command -> added console
[ ] that command can be what is selected
[ ] console: accept input
[ ] console: add option to open terminal
[ ] console: make the itegrated console v100 compatible
[ ] console: automatically switch focus to the previous rootview when hiding it
or selecting something from a treeview
[ ] doc: detect file changes with hash
[ ] doc: save files with sudo (or other command)
[ ] doc: complete rewrite of history handling, by default the whole document is
selected for updates but when un-doing with a selection then the action
is limited to that part of the document (this is a feature from emacs)
[ ]: also make it configurable
[x] add horizontal scroll
[ ] add a cross to close tab
[ ] add context menu to various things
[ ] document and selection context menu
[ ] treeview context menu
[ ] tab context menu for close duplicate etc
[ ] prevent overscrolling on treeview
[x] user config file and/or init.lua
[x] change tmp directory to somewhere in /tmp
[x] save project directory and restore on reopening
[ ] optimize dir tree taking too long to load on big folders
[ ] SDL: optimize drawing operations
[ ] implement render queue for each frame and render in batch, this
should save some time and improve cache locality
[ ] syntax: do not reload syntax on every draw event
[ ] go in background when launching from terminal
[ ] some key bindings:
[x] alt+right == End
[x] alt+left == Home
[x] alt+up == PageUp
[x] alt+down == PageDown
[ ] ctrl+d == duplicate line
[ ] ctrl+x == cut line || selection
[ ] ctrl+c == copy line || selection
[x] ctrl+shift+o == change & open project folder
[x] ctrl+q == quit
[x] ctrl+n -> next_find
[x] ctrl+shift+n -> prev_find
[x] f3 -> new file
[x] selected + tab == indent up
[x] selected +shift+tab == indent down
[x] change alt+<number> to ctrl+<number>
[ ] doc: add multi cursor system
[ ] add binding to open up a cheatsheet of keybinding, with a
search feature
[x] implement visual "ruler" at column 80
[ ] show hidden files config and binding
[ ] syntax: highlight FIXME TODO BUG FIX and IMPROVEMENT keywords
[ ] do not open doc in new tab if current tab has an unchanged document
[ ] doc: add auto close brackets and quotes
[ ] doc: highlight matching brackets and quotes pairs
[ ] doc: have a list of file extensions and handlers for those extensions, so
that we don't try to open like pdf files or tarballs and get jibberish
[ ] view: implement get_scrollable_size()
[ ] tree: add icons for common actions
[ ] delete file
[ ] new file
[ ] rename file
[ ] move file
[ ] copy file
[ ] tree: make treeview resizable