Commits


some headers cleanup try to not include headers from headers, and remove some redundant include. This helps in modularizing the codebase and also helps during incremental compilations.


add unload-certificate to stop using a certificate


include cmd.h only where it is really needed


add client-certificate-info


load and optionally remember client certificates This adds use-certificate, a user function to start using a certificate or switch to a different one. It asks whether to persist the certificate, if not it will only be used for the current session. use-certificate is implicitly called when the server replies with a 6x status code.


make cmd_home more robust look exactly for /~user/, not just for a tilde that happens to be inside the path like~this.


rework the history management It was a huge pile of spaghetti with useless utility functions and lots of code reaching into the "data structure" (if you can call it so) to do stuff. Instead, provide a "module" with a clean interface and noone reaching in the insides.


actually implement cmd_home


add the up, root and home commands These navigates respectively one level up in the path hierarchy, to the root directory and to the "home". The home is considered to be the first path component in the form of ~username. `home' is yet to be implemented.


start to refactor the rendering Previously each vline (visual line) had a full copy of its associated string, this changes it so it only slices a part of the parent line. Reduces significantly the memory usage. This actually worsen the emojify-link glitch reported by Freezr after the some recent refactoring in the wrapping code. Not a big deal since I'm about to restructure the whole rendering bit by bit (hopefully!)


replace has_prefix with strncmp


recompute completions after minibuffer history navigation


allow to select a previous history item


add mini-kill-whole-line


add must_select flag for enter_minibuffer it only makes sense when entering the minibuffer with completions. This flag is useful for functions like tag-select where the user types something but one of the completions *must* be selected.