Prior to this change, a transfer file with missing directories and files
would silently go on without any kind of notice that these files were
not included. To ensure the file is up-to-date with any name changes or
misspellings of source files, these should cause an error and halt prior
to transfer.
This will mean that a client built one morning will almost always yield
another build the next day (assuming there are changes for it to be
necessary) even if it goes from being built late one morning to early
the next morning. Despite that, 18 hours is still long enough that a
client build will be used for roughly a full day.
This commit also adds an old script used for facilitating browser
navigation backwards with a 4-finger swipe, as Firefox previously was
not handling overscroll navigation correctly. It is no longer in use as
the fix in the comments of these files made precise scrolling work,
which in turn made overscroll navigation work as well.
This both removes the need to query for these files from the
installation's source files (if even available--MacOS doesn't seem to
have these present on the system at all) and ensures the latest version
will be built.
This commit updates the completion function for the .functions (`..`,
`.2`, etc.) to behave as much like tab completion for `cd` as possible.
This means it has better listing for possible results when multiple
options are available, properly handles completed and nested directories
(!!) and is much more thoroughly documented so it's not such a dense
cluster of bash magic.
I'm not really sure why I never turned this on before, but it really
helps to identify exactly the character which I need to differentiate to
continue tab completion.
Printing only an error-type message without information about what
happens afterward is not the most helpful. This commit adds a message
indicating that vscode setup is skipped so that at least that feedback
is provided.
Commit de8ad4ac08 added an include of
~/.user.gitconfig following the global definitions in ~/.gitconfig. What
I had forgotten is that it was included earlier in the
alphabetically-sorted `[include]` section. Oops!
The motivation for this change comes from several reasons and
frustrations with the previous setup used here.
Firstly, the terminfo variables previously provided did not match those
of the familiar-to-me termcap environment variables, not even remotely
close. The color scheme the termcap variables creates is a largely
yellow-and-white theme, while the terminfo variables created a largely
blue-and-white theme. In addition to being unfamiliar, blue tends to be
somewhat hard to read on my dark theme terminals, so it had to go.
Secondly, in my efforts to update the terminfo variables to match the
colors provided by termcap, I found that bright colors (such as the
bright white used for underlined text) did not display correctly, and it
blatantly ignored any attempts to display colors in their default or
bright color variants. Due to the prevalence of underlined text in
manpages, this meant that I could not achieve the desired color scheme
whatsoever.
Finally, maintaining this convoluted `less` version check is something
I'd rather not do. Because terminfo is not universal and I typically use
stable distributions of linux tending away from the bleeding edge, I can
rely on termcap being available for `less` for some time to come, while
terminfo isn't yet available for Debian stable. Given that, I'd like to
maintain only a single set of color mappings for now. And unless I can
overcome the color issue mentioned in the previous paragraph, I doubt
I'll be interested in maintaining a parity between the two.
n.b. In the process of slimming these definitions down, I did a decent
amount of research to find parity in the text types identified by
terminfo and termcap. The following table details those findings. Note
that termcap variables would be set as environment variables in the
format `LESS_TERMCAP_var` and are set to an ANSI escape sequence for a
Select Graphic Rendition (see
https://stackoverflow.com/a/33206814/540162), and terminfo variables are
passed as arguments to `less` in the format `less -Dv` and are set to a
4-bit or 8-bit color string. (see `man less` on systems with `less
--version` >= 580)
| termcap | terminfo | |
|---------|----------|------------------------------------|
| mb | k | blinking text |
| md | d | bold text |
| me | | end bold/blinking text |
| so | s | reverse video (standout) text |
| se | | end reverse video text |
| us | u | underlined text |
| ue | | end underlined text |
| | B | binary characters |
| | C | control characters |
| | E | errors and info messages |
| | M | mark letters in status column |
| | N | line numbers enabled via -N option |
| | P | prompts |
| rs | R | rscroll character |
| | S | search results |
| | W | highlight enabled via -w option |
This bypasses an annoying issue when using both ~/.gitconfig and
~/.user.gitconfig, which is that there is no guarantee of the order
these configs are loaded. This means that configs loaded in
~/.user.gitconfig (which in this case is intended to override
~/.gitconfig) may not actually override those found in ~/.gitconfig. By
using `include.path`, they are loaded a second time, but it guarantees
they are loaded after all the configs in ~/.gitconfig, ensuring they are
used in cases where the key is present in both files.