Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-03-16 | Skip non-spacing when moving and deleting by "character" | June McEnroe | |
I uh... don't think I can write tests for this, since macOS's wcwidth is notoriously useless. | |||
2022-02-20 | Share a cut buffer between all edit buffers | June McEnroe | |
2022-02-20 | Assert return values in edit tests | June McEnroe | |
2022-02-20 | Move mbs out of struct Edit, use a global buffer | June McEnroe | |
This saves 4K in the edit buffers, not to mention all the heap allocations for the separate mbs buffers! There might be a way to be more clever about capacities, but I don't think it's worth it. | |||
2022-02-20 | Make sure new cap is actually larger than new length | June McEnroe | |
2022-02-20 | Remove unused mbs.len field from struct Edit | June McEnroe | |
2022-02-19 | Fix edit.[ch] license notice additional permissions | June McEnroe | |
2022-02-18 | Implement new line editing "library" | June McEnroe | |
Losing tab complete and text macros, for now. This new implementation works on an instance of a struct and does not interact with the rest of catgirl, making it possible to copy into another project. Unlike existing line editing libraries, this one is entirely abstract and can be rendered externally. My goal with this library is to be able to implement vi mode. Since it operates on struct instances rather than globals, it might also be possible to give catgirl separate line editing buffers for each window, which would be a nice UX improvement. | |||
2022-02-18 | Fix M-f ordering | June McEnroe | |
2022-02-09 | Treat any amount of space and punctuation as word boundaries | June McEnroe | |
This matches behaviour of, e.g. zsh -o emacs. | |||
2021-11-19 | Cycle between adding colon suffix and not in tab complete | C. McEnroe | |
Allows completing a nick at the beginning of a message without a colon by continuing to press tab, as well as after another nick already followed by a colon without turning it into a comma-separated list of nicks all followed by a colon. For example, tab can be used to cycle between the following pairs: nick1: | nick1 | nick1, nick2: | nick1: nick2 | | |||
2021-07-26 | Use (bright) red for \com text macro 1.9 | C. McEnroe | |
2021-06-24 | Stop at previous \ when expanding macros | C. McEnroe | |
There was no reason to ever require whitespace before the macro name. | |||
2021-06-14 | Add \com text macro | C. McEnroe | |
2021-02-15 | Don't insert wchar_t if it can't be converted to mbs | C. McEnroe | |
Otherwise it could hit the assertion in editBuffer while converting to mbs for consumption by the rest of the program. It's possibly to trigger this with LC_ALL=C and typing C-z C-v M-a, for example. | |||
2021-02-15 | Don't expand macro if it can't be converted to mbs | C. McEnroe | |
Otherwise expanding a macro could hit the assertion in editBuffer while converting to mbs for consumption by the rest of the program. | |||
2020-11-08 | Use wmemcpy/wmemmove | C. McEnroe | |
2020-08-18 | Preserve colon from previous tab-complete | C. McEnroe | |
This fixes the case when pinging multiple nicks and one of them needs to be cycled through. | |||
2020-08-04 | Say "OpenSSL" in additional permission notices | C. McEnroe | |
LibreSSL is "a modified version of that library". | |||
2020-08-02 | Add \banhammer macro | C. McEnroe | |
From the Textual extras command /banhammer. | |||
2020-07-13 | Add current topic to tab-complete so it can edited | C. McEnroe | |
2020-06-08 | Add additional permission for linking with LibreSSL | C. McEnroe | |
https://www.gnu.org/licenses/gpl-faq.en.html#GPLIncompatibleLibs | |||
2020-04-07 | Add M-q to collapse whitespace | C. McEnroe | |
2020-04-01 | Fix multi-mention tab completion condition | C. McEnroe | |
I don't know why I ever programmed it this way. It was really annoying when trying to write "some phrase, nick". | |||
2020-04-01 | Pass correct length to mbstowcs | C. McEnroe | |
Too used to sizeof being the right thing for regular strings. | |||
2020-03-31 | Add \blush | C. McEnroe | |
2020-03-31 | Add \bear, \cool, \hug, \unflip, \wave | C. McEnroe | |
2020-03-30 | Add text macros | C. McEnroe | |
2020-03-30 | Tab complete from last iswspace | C. McEnroe | |
2020-03-23 | Bump edit buffer cap to 1024 | C. McEnroe | |
With message splitting it's reasonable to allow this to be larger. | |||
2020-02-15 | Replace small integers in size_t with uint | C. McEnroe | |
2020-02-14 | Don't copy into cut buffer during tab complete | C. McEnroe | |
2020-02-12 | Simplify transpose swap | C. McEnroe | |
2020-02-12 | Add C-t transpose | C. McEnroe | |
Also in emacs, weechat. | |||
2020-02-09 | Avoid VLAs in tab complete | C. McEnroe | |
2020-02-09 | Use iswspace for word movement | C. McEnroe | |
2020-02-09 | Add C-y | C. McEnroe | |
This is weechat's binding for it. | |||
2020-02-09 | Add C-w and M-d | C. McEnroe | |
2020-02-09 | Rename kill ops | C. McEnroe | |
2020-02-09 | Add M-b and M-f | C. McEnroe | |
2020-02-09 | Add C-k | C. McEnroe | |
Also rename all the edit ops to something consistent. | |||
2020-02-09 | Add C-d | C. McEnroe | |
2020-02-09 | Hook up tab-complete | C. McEnroe | |
2020-02-09 | Simplify edit buffer conversion and input rendering | C. McEnroe | |
2020-02-07 | Populate completion with commands | C. McEnroe | |
2020-02-07 | Add some real line editing operations | C. McEnroe | |
2020-02-05 | Add extremely basic editing and message sending | C. McEnroe | |
2020-02-04 | Convert editHead and editTail from wchar_t | C. McEnroe | |
2020-02-04 | Split showing style codes and word wrapping | C. McEnroe | |