aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* fancy-prompt.lua: allow non-ASCII buffer namesPřemysl Eric Janouch2020-10-311-4/+5
| | | | | It may theoretically bite us in the ass with non-UTF-8-compliant IRC servers, and certainly with double-width characters.
* degesch: fix fancy-prompt.lua with libeditPřemysl Eric Janouch2020-10-311-0/+14
| | | | Partly by unifying the interface for prompt hooks to match GNU Readline.
* degesch: make PageUp actually scroll a page upPřemysl Eric Janouch2020-10-311-1/+1
| | | | | | | Now that the input to the backlog helper is wrapped the same way as what we display. There's a slight issue always triggered by fancy-prompt.lua where a multiline prompt/command line makes less(1) go too high up but it's nothing too important.
* Minor rebrandingPřemysl Eric Janouch2020-10-318-12/+12
| | | | | | There's nothing experimental about this project anymore. It's stable. Maybe we should add a photo of Hitler or something.
* CMakeLists.txt: clean up OpenBSD supportPřemysl Eric Janouch2020-10-291-3/+1
| | | | A few things might have changed.
* Bump version, update NEWSv1.0.0Přemysl Eric Janouch2020-10-292-1/+32
|
* Add real manual pagesPřemysl Eric Janouch2020-10-295-8/+294
| | | | To some extent they duplicate the README but from a different angle.
* degesch: fix Lua 5.3 buildPřemysl Eric Janouch2020-10-291-1/+1
| | | | Regression from the last release.
* kike: ensure NULL binds to both IPv4 and IPv6Přemysl Eric Janouch2020-10-291-2/+9
|
* kike: document the "operators" setting usefullyPřemysl Eric Janouch2020-10-281-1/+1
| | | | Now our user just needs to be able to guess that it's a hex string.
* ZyklonB: don't look for plugins in /usr/libPřemysl Eric Janouch2020-10-282-2/+0
| | | | It's quite unlikely that this project will ever see compiled plugins.
* ZyklonB: use XDG paths by defaultPřemysl Eric Janouch2020-10-283-12/+33
| | | | | | | | | | | | Install plugins to /usr/share rather than /usr/lib since they're arch-independent. Many precedents can be found for scripted plugins in /usr/share and fewer for /usr/lib. Look for plugins in all XDG data directories and repurpose the "plugin_dir" setting to override this behaviour. This adds some complexity to the bot but unifies the project. It might make sense to remove the "plugin_dir" setting.
* README.adoc: fix GPL noticePřemysl Eric Janouch2020-10-281-2/+2
|
* CMakeLists.txt: omit end{if,foreach} expressionsPřemysl Eric Janouch2020-10-281-20/+20
| | | | Their usefulness was almost negative.
* CMakeLists.txt: clean up and fix build rulesPřemysl Eric Janouch2020-10-281-34/+18
| | | | The multiple-output custom command ran separately for each binary.
* Bump minimum CMake version to 3.0Přemysl Eric Janouch2020-10-271-3/+3
| | | | A nice, round number.
* Bump copyright yearsPřemysl Eric Janouch2020-10-271-1/+1
|
* Bump libertyPřemysl Eric Janouch2020-10-241-0/+0
| | | | Testing in production is discouraged.
* Bump liberty, test UTF-8 sanitizationPřemysl Eric Janouch2020-10-212-6/+14
|
* degesch: add a hidden LOMEM compile optionPřemysl Eric Janouch2020-10-201-1/+21
|
* Improve OpenSSL integrationPřemysl Eric Janouch2020-10-204-15/+37
| | | | | | | | | Ensure the error stack is cleared after errors are processed. Also handle NULL returns safely. Makes the debug mode spew more data, though almost none of the contexts is in reaction to network peer data.
* degesch: comment about improving word wrapperPřemysl Eric Janouch2020-10-191-0/+8
|
* degesch: slightly cut down memory usagePřemysl Eric Janouch2020-10-191-16/+25
| | | | | | | | | | | | | | | | | | | The worst offenders are actually OpenSSL and Lua, this is mostly about a preventable surprise. This is more correct because we mix escape sequences for attributes with text, however in practice no one will use shit-jizz with degesch. It is also a clean-up: "struct line_char" has been almost halved in size. We used to use it as a cache and now we recompute the multibyte sequence. Of course, it'd be best to get rid of the linked list but it would take a very long time to rewrite the algorithm. Plus, it's not certain that it could be improved by much. The change in "struct line_char_attrs" is merely cosmetical.
* degesch: silence the compilerPřemysl Eric Janouch2020-10-191-2/+4
|
* degesch: fix processing WHO repliesPřemysl Eric Janouch2020-10-191-4/+4
| | | | | We don't want to print the reply for ourselves nor for unknown or PM-only users.
* degesch: update an outdated commentPřemysl Eric Janouch2020-10-161-1/+1
|
* degesch: cleanupPřemysl Eric Janouch2020-10-161-25/+25
| | | | | Channels now need a reference to the server, so don't pass it to functions.
* degesch: watch away statuses with away-notify/WHOPřemysl Eric Janouch2020-10-161-19/+106
| | | | | We're not going to implement polling. Polling is complex. Freenode supports away-notify.
* degesch: don't eat NAMES for unknown channelsPřemysl Eric Janouch2020-10-161-0/+3
|
* degesch: stubplement TAGMSGPřemysl Eric Janouch2020-10-161-0/+9
|
* degesch: clarify handling of unexpected JOINsPřemysl Eric Janouch2020-10-161-5/+5
| | | | I got confused about safety.
* degesch: improve a function namePřemysl Eric Janouch2020-10-161-2/+2
| | | | 3_3_3_3_4 looks awful and it wasn't even precise.
* Tolerate cut-off UTF-8 messagesPřemysl Eric Janouch2020-10-121-1/+22
| | | | | | | | I've had this happen to me on Russian channels and it's highly annoying because you lose the entire message. On the contrary, this at worst screws up the last few characters of it. Closes #2
* Bump libertyPřemysl Eric Janouch2020-10-122-2/+2
|
* kike: fix up debug messagesPřemysl Eric Janouch2020-10-121-2/+2
|
* Bump libertyPřemysl Eric Janouch2020-10-122-44/+10
| | | | We've moved most of our configuration test in there.
* kike: use read/write rather than recv/sendPřemysl Eric Janouch2020-10-121-3/+3
| | | | | | read/write support non-sockets, otherwise they're the same here. This is in preparation for fuzzing.
* degesch: add support for crossed-out textPřemysl Eric Janouch2020-10-111-10/+21
| | | | Assuming that sgr0 includes rmxx behaviour, which should be true.
* degesch: support more coloursPřemysl Eric Janouch2020-10-111-4/+21
|
* degesch: prefer British spelling in commentsPřemysl Eric Janouch2020-10-111-23/+23
| | | | Let's say the rest is in Oxford spelling, not sure about it.
* prime.lua: skip colour sequences, add configPřemysl Eric Janouch2020-10-111-16/+34
| | | | | | | | | Colour sequence skipping is somewhat involved, we might want to add a helper generator to the "degesch" Lua library, in the form of {substring, is_formatting}. formatter_parse_mirc() isn't useful, a pure Lua implementation would be more appropriate (where do we put that?)
* degesch: improve ad-hoc IRC parsers in pluginsPřemysl Eric Janouch2020-10-102-2/+2
|
* degesch: add a plugin to highlight prime numbersPřemysl Eric Janouch2020-10-101-0/+50
|
* Bump libertyPřemysl Eric Janouch2020-10-103-53/+1
| | | | resolve_relative_runtime_unique_filename() used to have a bug.
* degesch: fix prompt not showing up after changePřemysl Eric Janouch2020-10-061-5/+3
| | | | | | | | | | | | | When a backlog helper was running and the prompt changed, it failed to restore within input_rl_show(). Since before input_rl_show() is called the prompt is empty and in input_rl__restore() it will be changed to the new version, just skip invoking any Readline functions within input_rl_set_prompt() when the prompt is hidden. Simple and straight-forward. This bug is what I hinted at in the previous commit.
* README.adoc: update degesch instructionsPřemysl Eric Janouch2020-10-041-3/+2
| | | | There is still one outstanding issue with the backlog helper, though...
* degesch: enable wrapping in the backlog by defaultPřemysl Eric Janouch2020-10-041-1/+1
| | | | The main issue has been eliminated.
* degesch: resolve the issue with less(1) and SO/SIPřemysl Eric Janouch2020-10-041-10/+25
| | | | | | | | | Now that I've learnt what exactly these characters are and how they ended up in attribute strings, we can just eliminate them and disable `backlog_helper_strip_formatting`. Saner defaults, again. I've also added skipping of terminfo delay sequences, so now it's less of an issue to pipe raw attribute sequences into backlog helpers.
* degesch: make the unread marker look a bit fancierPřemysl Janouch2020-10-041-1/+27
| | | | | | | | | | | | | | | | | | Upstreamed after who knows how long, in a slightly modified form. The marker looks fairly ugly without this and defaults should be desirable. It's possible to get the previous behaviour by resetting the separator character in the configuration to an empty string. It might be a better idea in general to just disallow this value with a special validation callback, so that there's only one way to do it. However given that without fancy-prompt.lua, an optional plugin, the long line stands out considerably, it might actually be a good idea to keep the old behaviour as the default. I'm torn. Right now we don't care about the situation where the string occupies more than one terminal cell or is some Unicode BS. User's problem.
* degesch: fix a typoPřemysl Eric Janouch2020-10-041-1/+1
|