Sharc

Timeline
Login

Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins

2026-08-12
13:20
In sharc-vermaden-lists: replace wrong dependency with exa and coreutils which contain programs used by plugin. leaf check-in: 30f1dc3f83 user: rossgohlke tags: trunk, version-0.1.8
2026-08-08
16:21
Move sharc-starship-config-display to spacesuit, remove from sharc dependencies since it will be managed separately and deposited in etc/profile.d. check-in: 26203600ba user: rossgohlke tags: trunk, version-0.1.2
13:24
In sharc-starship-blastoff: default shell is now derived from $SHELL, since Starship supports many more shells; Bash and Zsh retain their more accurate tests; add support for STARSHIP_BLASTOFF environment variable which, when set to 0, disables starship init. Add ports files for sharc-set, sharcsz-completions, sharcsz-set. Bump sharc version, add READMEs for sharc- plugins. check-in: 8b245d4ec2 user: rossgohlke tags: trunk
2026-08-04
22:08
Accidentally committed wrong message previously; start editing README for opportunity to bump. check-in: 3777fb6dc7 user: rossgohlke tags: trunk, version-0.1.7
22:03
Add ports files for program output completions and system plugin bundle. check-in: 5b3b794673 user: rossgohlke tags: trunk
13:53
Add plugins ports files. check-in: e40c320d1a user: rossgohlke tags: trunk, version-0.1.6
05:32
Move zsh plugins to sharcz, remove manifests replaced by ports files. check-in: 43c5b493c9 user: rossgohlke tags: trunk
03:30
Remove remaining zeashell documentation. check-in: 4aeb3e77b0 user: rossgohlke tags: trunk
03:29
Move sharcz to separat trove, remove manifests replaced by ports. check-in: 3d56658e6c user: rossgohlke tags: trunk
02:50
Fix bug in sharc.sh that prevented plugin sharc.toml from being loaded. check-in: 4796013ab5 user: rossgohlke tags: trunk, version-0.1.5
01:44
Add DATADIR to mkdir list in Makefile. check-in: 04e96d834a user: rossgohlke tags: trunk
01:19
Collapse etc/xdg/sharc to sharc, move README there, since Make handles the mapping. check-in: 12b0e6cadd user: rossgohlke tags: trunk, version-0.1.4
01:04
Remove remaining zeashell files. check-in: f289a8e4cc user: rossgohlke tags: trunk
00:58
Add ports files. check-in: 54dd2c768b user: rossgohlke tags: trunk, version-0.1.3
00:36
Remove sharcs README.md which is supplanted by bash-sharc package message. check-in: cb69067331 user: rossgohlke tags: trunk
00:31
Move sharcs to separate package. check-in: 11f1bed1ea user: rossgohlke tags: trunk
2026-07-29
00:35
In sharc-starship-config-display, move export condition into function to eliminate final global variable. check-in: 1ec9a62abf user: rossgohlke tags: trunk
2026-07-28
23:29
In bash-compat-rcs-zsh: change variable name from s to something random that is guaranteed not to clash with other batch variables; add bashrc.sheldons, a one-liner the user can add to .bashrc on systems known to have sheldons. check-in: da49364c80 user: rossgohlke tags: trunk
22:39
In Sharc: fix sharc_get_plugins_system() to properly set location -- it was clipping the last component; move final commands running in global scope to sharc_run() to eliminate leaking any variables -- bash-compat-rcs-zsh was not working because s variable was getting unset. check-in: 7920dfa17e user: rossgohlke tags: trunk
06:03
Rework sharc-starship-terminal: rename to sharc-starship-config-display, which is longer but more descriptive; now STARSHIP_CONFIG_DISPLAY must be set for this batch to operate, but if its value is "1" then the file path and name are derived from STARSHIP_CONFIG or its default value; the derived name has also changed from starship.toml.terminal to display.starship.toml, preserving the extension for editors capable of highlighting the syntax of TOML files; move variable setting to function so as to prevent leakage check-in: 7b01eadf7d user: rossgohlke tags: trunk
03:11
Add Sharc configurations, plugin documentation and package manifests. check-in: 0c440dbe21 user: rossgohlke tags: trunk
03:06
In Zsh-completion-local: change local completion location, to be more standardized based on an online recommendation, from XDG_DATA_HOME/site-functions to XDG_DATA_HOME/zsh/site-functions; replace cdir variable with non-leaking ZSH_COMPLETION_LOCAL_DIR. Zsh-completion-local was previously merged with zsh-completion-enable which was a mistake; separate them again so compinit, which can only be executed once, can be placed at the end of shrc sourcing, via a dedicated profile "compinit", or disabled so it can be sourced manually. Move plugins.toml.zsh to zsh.plugins.toml so it will not be confused with batches and is recognized as toml by editors. Now global RCS falls back to sheldon if sheldons is not available, since files could be installed individually as remote plugins without sheldons; add separate compinit invocation to zshrc. check-in: d1b62106d4 user: rossgohlke tags: trunk
2026-07-27
06:30
Rename bash-rcs-zsh to bash-compat-rcs-zsh to be conformant with other plugin names; remove obsolete functions from Sharc. check-in: 53c98103f4 user: rossgohlke tags: trunk
05:43
In Sharc: add SHARC_CONFIG_BASH and SHARC_CONFIG_ZSH to allow overriding individual file locations because file processing now reads complete paths instead of directories and relative files; remove bashdir because plugin part of Sharcs is now sharcs-compat-rcs-zsh so there is no bashdir; move code which makes relative paths absolute to sharc_get_location(); change sharc.toml.zsh to zsh.toml and sharc.toml.bash to bash.toml since they have script siblings and the shell extensions might clash, plus Micro does not recognize them as toml so I have to manually set the filetype (or edit configuration); move zsh-compat-setenv profile override to sharc.toml in the plugin directory; rewrite sharc_get_attrs() to handle new file locations, as well as a sharc.toml in the plugin directory, plus make it simpler and easier to follow add sharc_test() to handle rapid prototyping. check-in: 8ef1700a43 user: rossgohlke tags: trunk
2026-07-26
17:00
In Sharc: modify sharc_get_attrs() to resolve relative path for sharc plugin location; change names of shell-specific configuration from appending .shell to replacing sharc; in sharc_get_plugins_filter, replace array member check conditions with newly discovered regexp technique; add sharc_normalize_arrays() to handle shell condition for global arrays eliminating most occurences; normalize Zsh array handling to use single technique of two presently in use. check-in: fd8934675a user: rossgohlke tags: trunk
12:33
Liquidate Zeashell plugins: zsh-lf-icons was taken from a Fish plugin but turned out to be superfluous; zsh-vermaden-ls was moved to zsh-vermaden-lists; zsh-wezterm is now handled by sharc-batch-system; zshenv-xdg is replaced by setting ZDOTDIR in login.conf(5); save zsh-tcsh-forum, renamed zsh-compat-freebsd-tcsh, for further investigation, especially history and line editing options. check-in: a41905d157 user: rossgohlke tags: trunk
11:48
In Sharcs, move resources to bash-rcs-zsh so plugin will be managed by Sharc; now Sharcs is just global RCS, etc/profile and has bash-rcs-zsh as dependency; in this way, resources can be sourced on a system where /usr/local/etc/profile cannot be installed because it already exists; check-in: dbdba52b36 user: rossgohlke tags: trunk
11:16
Change starship batches to sharc plugins. In Sharcs, bashrc now sources plugins with profile "bashrc", which subsequently sources batches in emulation of Zsh cumulative sourcing; the new file should be copied to ~/.bashrc. check-in: e338f7a272 user: rossgohlke tags: trunk
2026-07-25
17:40
Now Sharc supports common plugins with the well-known prefix /usr/local/share/sharc-. Prepare sharc and sharc-vermaden-lists for publishing. check-in: e71609106f user: rossgohlke tags: trunk
16:40
In Sharc, change sharc_cache_filter() to sharc_add_filter(), add sharc_remove_filter(), modify interface so user can create or delete whitelist and blacklist; modify sharc_add_filter() to issue warnings when force is required for action. check-in: d6a56c60bc user: rossgohlke tags: trunk
15:00
In Sharc: move environment variable declarations to sharc_get_env() so they are local, update other functions which consume environment variables to call the function, eliminating the last leakage into the shell environment of variables set by Sharc; since strap is now bypassing sharc_remove_system() and calling sharc_remove_plugin() directly, there is no check if the plugin exists so inhibit standard error for removal. check-in: 3ca2bdf747 user: rossgohlke tags: trunk
14:06
In Sharc: Add SHARC_CONFIG_WHITELIST and SHARC_CONFIG_BLACKLIST to allow the user to override these file locations, which default to SHARC_CONFIG_DIR/whitelist.toml and SHARC_CONFIG_DIR/blacklist.toml respectively; add sharc_get_help() which prints interface options; make all arrays Bash-compatible (space-delimited) and move array-related, shell-specific conditions to immediately above for loops, which is the only place the difference matters; transfer completion list mechanisms to dedicated functions; transfer actual sheldon removal invocation to dedicated function so it can be called by strap; make s declaration global and pass as argument, which might not have a value so do shameful gymnastics to make it work; make force and dryrun options global for the same reason; now sharc_add_profiles() can accept profiles as options, which is used by strap; make sharc_add_system() and sharc_remove_system() aware of when they are being run together and react accordingly; add sharc_manage_system(), sharc_add_completion() and sharc_remove_completion() so the user can add or remove plugins, or both in coordination; add sharc_cache_filter(), exposed in the interface, so the user can save whitelists and blacklists without editing the files. check-in: 31c34f3b17 user: rossgohlke tags: trunk
2026-07-24
17:00
In Sharc: add missing uclcmd invocation when listing plugins to sharc_get_attrs(); convert get functions to output space-delimited, instead of newline-delimited, values; change sharc_get_plugins_sheldon() to check for strap mode, process it and return; now sharc_remove_system() requires $shl like the others and uses it to process arrays; Make all arrays Bash-compatible (space-delimited) and move the shell checks to immediately before each for loop in add and remove functions; normalize interface to accept force and dryrun options for all invocations, and custom profiles for sharc plugin in strap invocation, allowing the user to control when sharc is sourced without having to create any files or directories. check-in: d65ac43fa8 user: rossgohlke tags: trunk
11:24
In Sharc: add back ext evaluation to sharc_add_plugins() since it was not ported from original function; implement strap action; remove compose() since it is not needed with strap, remove config_plugins and loffset variables as a result; move profiles.toml to sharc.toml containing constant values from top of script, replace sharc_get_profiles() with sharc_get_attrs(); add support for SHARC_CONFIG_FILE; add strap mode for installing sharc to sheldon and system functions; normalize function names. In Sharcz, remove obsolete manifests. Remove zsh-history-beginning-search from plugins.toml.zsh since it is now a package. check-in: 8aba921301 user: rossgohlke tags: trunk
2026-07-23
01:53
Normalize function names in Sharc: change manager_ prefix to sharc_ since manager moniker is dropped; add _get midfix to functions that print results; add _\<action> midfix to functions that perform actions. check-in: ffb87fdf1c user: rossgohlke tags: trunk
01:21
Remove obsolete functions from Sharc. check-in: dbd2a91512 user: rossgohlke tags: trunk
01:17
Update Sharc: fix unset to use latest global variables; make unset apply to all invocations. check-in: a5e96e3ab8 user: rossgohlke tags: trunk
00:46
Update manager_add() to use new common array technique with less code. Remove obsolete code from bottom. check-in: 7546dba9ee user: rossgohlke tags: trunk
00:27
New user-configurable features in Sharc are working: filters, multiple profiles. Replace manager_plugins() with manager_remove() and manager_add(). check-in: aaa5227afc user: rossgohlke tags: trunk
2026-07-22
13:47
Change Sheldons invocations in RCS to pass profile with SHELDON_PROFILE so it can be used in Sharc if necessary, even though the reason for it evaporated. Change starship-terminal to only export STARSHIP_CONFIG if the file exists. Update plugins.toml: rename sharc-manager to sharc, add default profiles; rename sharc to sharc-batch-system which not includes all .sh files in profile.d. Add sharcs plugin to plugins.toml.bash, allowing Bash users to support Zsh-style RCS in .bashrc with a Sheldons invocation. Add external plugins to pluglins.toml.zsh: zsh-history-search-beginning brings Tcsh-style history searching; fossil-zsh-completion adds Fossil completions. Convert Zsh batches to plugins: zsh-history-matters contains history options from compat-tcsh-bsd; zsh-w-kills-word contains word style commands from compat-tcsh-bsd; compat-csh-setenv becomes zsh-compat-setenv is no longer an exclusion because its profile can be overloaded with new profiles management feature. check-in: 4f91a0cffd user: rossgohlke tags: trunk
2026-07-19
08:47
Remove obsolete batches. check-in: d79aa5efd5 user: rossgohlke tags: trunk
07:45
Add completion documentation. check-in: 28a323f4ce user: rossgohlke tags: trunk
07:26
New plugin sharcs-rcs-zsh contains Sheldons invocations for Zsh-style local interactive RCS sourcing since Bash does not support a global interactive RCS file. Move etc/bashrc, containing the one-liner to be added to the user's ~/.bashrc, to etc/xdg/sharcs/sharcs-rcs-zsh.bashrc. Move etc/profile.d/bashrc, which contains the actual shrc Sheldons invocations, to share/sharcs-rcs-zsh/sharcs-rcs-zsh.sh. Streamline global RCS with new Sheldons form which sources program instead of separate file. Now manager installs extra plugin for Bash, sharcs-rcs-zsh with profile sharcs-rcs-zsh, containing commands for interactive RCS. check-in: 48e05cd260 user: rossgohlke tags: trunk
02:33
After further consideration and testing, I realize that z-completion-enable.zsh is not necessary. While it is true that compinit needs to be loaded after fpath is modified, it is not true that it can only be loaded once. Add contents of z-completion-enable.zsh to the bottom of completion-local.zsh and remove z-completion-enable.zsh. Maybe this approach causes some unseen error which is inhibited by sheldon, but it works. If and when I see evidence to the contrary I can recover the fossilized file. check-in: a5be3ef449 user: rossgohlke tags: trunk
02:22
Update package manifest. Make comment in compat-tcsh-bsd.zsh more descriptive. Move shell-specific Sheldon configurations to respective subdirectories. Add Rationale to README.md. check-in: 02034b56b8 user: rossgohlke tags: trunk
2026-07-18
02:17
Remove inhibition from starship-prompt because it does not work. I need to understand better how starship operates. I assumed STARSHIP_SESSION_KEY is not set until `starship init` runs, but when logging in to Plasma from the console, I see that it is set. I don't want to waste an environment variable just to prevent double sourcing of this file. The problem it was intended to solve was erroneously diagnosed in the first place; the terminal suffix was being appended twice. check-in: 2cb3a1df07 user: rossgohlke tags: trunk
2026-07-17
20:48
Add new shared manager implementation which handles system annex plugins, completion plugins and configuration composition. System annex plugins are now supported for Bash; this is how bash-completion gets sourced. Now manager manages links to completion plugin files in the well-known local completion directory. Bash already defines such a directory: $XDG_DATA_HOME/bash_completion.d. Zsh does not. The previously specified location of $SHELDON_DATA_DIR/site-functions was changed to $XDG_DATA_HOME/site-functions because it may contain files not managed by Sheldon. Users who wish to start using Sheldon with all Sharc plugins installed can generate an appropriate configuration with `<shell> /usr/local/etc/profile.d/_sharc-manager.sh compose`. check-in: 76f40637e2 user: rossgohlke tags: trunk
20:32
Add reference Sheldon configurations which define supported shared and specific plugins. check-in: 694870f052 user: rossgohlke tags: trunk
20:26
Add obsolete strap implementation which is superseded by Sheldons. check-in: 668bb53313 user: rossgohlke tags: trunk
20:25
Add files to emulate global interactive RCS in Bash. check-in: 189c3ef2c0 user: rossgohlke tags: trunk