| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
| |
hilex is meant to replace hi, based on lex rather than a mess of
overlapping regexps. I want to preserve hi's tagging abilities, but that
will require some amount of parsing/post-processing, which I'm not sure
how to approach yet.
Macro lexing for C still needs work, as I want to match strings and
comments inside macros.
|
| |
|
| |
|
|
|
|
|
|
| |
editline does not render a multi-line PS1 correctly when RPS1 is also
set. To work around this, return only the last line of the cached prompt
to editline, and print the leading lines separately inside setprompt.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the prompt would be expanded every time editline called the
getprompt callback. I think the code may have been written assuming that
editline only calls getprompt once per prompt, but it may actually call
it many times, for instance every time you type backspace. This results
not only in slower editing from expanding complex prompts repeatedly, it
also consumes more and more stack memory each time getprompt is called.
This can be seen by setting PS1 to some command substitution, typing
many characters at the prompt, then holding backspace and observing
memory usage. Thankfully all this stack memory is freed between prompts
by the stackmark calls around el_gets.
This change causes prompt expansion to always happen in the setprompt
call, as it would when editline is disabled, and a cached copy of the
prompt is saved for getprompt to return every time editline calls it.
Since getprompt is no longer doing expansion, the stackmark calls
surrounding el_gets can be removed.
|
|
|
|
|
|
|
|
|
|
| |
Check if the FreeBSD (and by extension macOS) _el_fn_sh_complete version
of the function exists, which does shell escaping of completed filenames
before _el_fn_complete learned to.
Tab is bound after calling el_set() and el_source() since the default
bindings set tab to something else, and it should always be filename
completion in the shell.
|
| |
|
|
|
|
|
| |
Previously, configure --with-libedit would only fail in the case where
libedit is available but its header file histedit.h is not.
|
|
|
|
| |
From tag 'v0.5.11.2'.
|
|
|
|
| |
Correctly sorts "Kevin L. Mitchell" and "K. Zeilenga, Ed." for example.
|
|
|
|
|
| |
My first perl script! hi doesn't have syntax highlighting for perl, and
I don't think I could sanely implement it, but oh well.
|
|
|
|
|
|
| |
Also fix it to continue reading output, rather than exiting as soon as
the child exits... Except on macOS this still doesn't seem to work
correctly for some reason.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This makes it work even when it's run connected to a pipe, i.e. as the
notify command of catgirl...
|
| |
|
|
|
|
| |
I guess this got lost somewhere, long ago...
|
| |
|
| |
|
|
|
|
| |
Almost always templated shell for rc scripts.
|
|
|
|
| |
YouTube now sends <title> that occurs 38K into the file...
|
|
|
|
|
|
|
| |
Since 9c845be2797e2047547ec247cb037471aeb48bb0 in curl (7.71.0), setting
CURLOPT_NOBODY to 1 sets the request method to HEAD, but setting it back
to 0 does not change the method back to GET. Setting CURLOPT_HTTPGET
both sets the request method and unsets CURLOPT_NOBODY.
|
| |
|
|
|
|
|
|
|
|
|
| |
This fixes fetching tweets again!
https://github.com/thelounge/thelounge/pull/ 3602
(Intentionally breaking the link so GitHub doesn't add a "referenced
this PR" thing?)
|
| |
|
|
|
|
|
| |
At some point neovim started setting argv[0] to the absolute path for
some reason.
|
|
|
|
| |
https://www.gnu.org/licenses/gpl-faq.en.html#GPLIncompatibleLibs
|
|
|
|
| |
sed -E 's/__DECONST[(]([^,]+), ([^)]+)[)]/(\1)(\2)/'
|
|
|
|
| |
sed -E 's/__printf0?like[(]([^,]+), ([^)]+)[)]/__attribute__((format(printf, \1, \2)))/'
|
|
|
|
| |
sed 's/__dead2/__attribute__((noreturn))/'
|
|
|
|
| |
sed -E 's|__FBSDID[(]"([^"]+)"[)];|/* \1 */|'
|
|
|
|
|
|
|
|
| |
Newer versions of libedit have sane tab-complete now without FreeBSD's
hacks, and in fact the hack is gone in FreeBSD-CURRENT.
I'm still a little confused why binding this weird function is necessary
at all, but at least it exists everywhere, I guess.
|
|
|
|
| |
Why even?
|
|
|
|
|
| |
In the version of zlib in OpenBSD, these fields are of type off_t, which
is signed (why?), rather than uLong.
|
|
|
|
|
| |
OpenBSD doesn't #define static_assert in assert.h and _Static_assert is
its real name I guess so why not?
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Shell highlighting is hopeless anyway but this makes it slightly less
obviously broken.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Otherwise a bind -v in .editrc will take precedence and overwrite the ^I
binding for sh-complete.
|
| |
|
| |
|