Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Assert return values in edit tests | June McEnroe | 2022-02-20 |
| | |||
* | Move mbs out of struct Edit, use a global buffer | June McEnroe | 2022-02-20 |
| | | | | | | | | 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. | ||
* | 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-20 |
| | |||
* | Fix edit.[ch] license notice additional permissions | June McEnroe | 2022-02-19 |
| | |||
* | Implement new line editing "library" | June McEnroe | 2022-02-18 |
| | | | | | | | | | | | | | | 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. | ||
* | Fix M-f ordering | June McEnroe | 2022-02-18 |
| | |||
* | Treat any amount of space and punctuation as word boundaries | June McEnroe | 2022-02-09 |
| | | | | This matches behaviour of, e.g. zsh -o emacs. | ||
* | Cycle between adding colon suffix and not in tab complete | June McEnroe | 2021-11-19 |
| | | | | | | | | | | | | | | 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 | | ||
* | Use (bright) red for \com text macro 1.9 | June McEnroe | 2021-07-26 |
| | |||
* | Stop at previous \ when expanding macros | June McEnroe | 2021-06-24 |
| | | | | | There was no reason to ever require whitespace before the macro name. | ||
* | Add \com text macro | June McEnroe | 2021-06-14 |
| | |||
* | Don't insert wchar_t if it can't be converted to mbs | June McEnroe | 2021-02-15 |
| | | | | | | | | 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. | ||
* | Don't expand macro if it can't be converted to mbs | June McEnroe | 2021-02-15 |
| | | | | | Otherwise expanding a macro could hit the assertion in editBuffer while converting to mbs for consumption by the rest of the program. | ||
* | Use wmemcpy/wmemmove | June McEnroe | 2020-11-08 |
| | |||
* | Preserve colon from previous tab-complete | June McEnroe | 2020-08-18 |
| | | | | | This fixes the case when pinging multiple nicks and one of them needs to be cycled through. | ||
* | Say "OpenSSL" in additional permission notices | June McEnroe | 2020-08-04 |
| | | | | LibreSSL is "a modified version of that library". | ||
* | Add \banhammer macro | June McEnroe | 2020-08-02 |
| | | | | From the Textual extras command /banhammer. | ||
* | Add current topic to tab-complete so it can edited | June McEnroe | 2020-07-13 |
| | |||
* | Add additional permission for linking with LibreSSL | June McEnroe | 2020-06-08 |
| | | | | https://www.gnu.org/licenses/gpl-faq.en.html#GPLIncompatibleLibs | ||
* | Add M-q to collapse whitespace | June McEnroe | 2020-04-07 |
| | |||
* | Fix multi-mention tab completion condition | June McEnroe | 2020-04-01 |
| | | | | | I don't know why I ever programmed it this way. It was really annoying when trying to write "some phrase, nick". | ||
* | Pass correct length to mbstowcs | June McEnroe | 2020-04-01 |
| | | | | Too used to sizeof being the right thing for regular strings. | ||
* | Add \blush | June McEnroe | 2020-03-31 |
| | |||
* | Add \bear, \cool, \hug, \unflip, \wave | June McEnroe | 2020-03-31 |
| | |||
* | Add text macros | June McEnroe | 2020-03-30 |
| | |||
* | Tab complete from last iswspace | June McEnroe | 2020-03-30 |
| | |||
* | Bump edit buffer cap to 1024 | June McEnroe | 2020-03-23 |
| | | | | With message splitting it's reasonable to allow this to be larger. | ||
* | Replace small integers in size_t with uint | June McEnroe | 2020-02-15 |
| | |||
* | Don't copy into cut buffer during tab complete | June McEnroe | 2020-02-14 |
| | |||
* | Simplify transpose swap | June McEnroe | 2020-02-12 |
| | |||
* | Add C-t transpose | June McEnroe | 2020-02-12 |
| | | | | Also in emacs, weechat. | ||
* | Avoid VLAs in tab complete | June McEnroe | 2020-02-09 |
| | |||
* | Use iswspace for word movement | June McEnroe | 2020-02-09 |
| | |||
* | Add C-y | June McEnroe | 2020-02-09 |
| | | | | This is weechat's binding for it. | ||
* | Add C-w and M-d | June McEnroe | 2020-02-09 |
| | |||
* | Rename kill ops | June McEnroe | 2020-02-09 |
| | |||
* | Add M-b and M-f | June McEnroe | 2020-02-09 |
| | |||
* | Add C-k | June McEnroe | 2020-02-09 |
| | | | | Also rename all the edit ops to something consistent. | ||
* | Add C-d | June McEnroe | 2020-02-09 |
| | |||
* | Hook up tab-complete | June McEnroe | 2020-02-09 |
| | |||
* | Simplify edit buffer conversion and input rendering | June McEnroe | 2020-02-09 |
| | |||
* | Populate completion with commands | June McEnroe | 2020-02-07 |
| | |||
* | Add some real line editing operations | June McEnroe | 2020-02-07 |
| | |||
* | Add extremely basic editing and message sending | June McEnroe | 2020-02-05 |
| | |||
* | Convert editHead and editTail from wchar_t | June McEnroe | 2020-02-04 |
| | |||
* | Split showing style codes and word wrapping | June McEnroe | 2020-02-04 |