A delightful community-driven framework for managing your bash configuration, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.
[ ] Check the copyright of the upstream. We also need to update the copyright notice in README. Not every code in oh-my-bash can be distributed under the MIT license.
[ ] Check conflicting aliases
[x] Conflicting variables in lib/util.sh and themes/colours.theme.sh -> namespacing
[ ] Summarize all the configuration variables OSH_* and OMB_* used by plugins and themes.
[ ] Why not use bash-completion but define a limited number of completions on its own?
bash-completion seems like automatically loaded in lib/bourne-shell.sh
[ ] install: Bash version is checked inside the installation script, but the installation script and the interactive shell are not necessarily the same.
[ ] Avoid aliases by command awk, command sed, command grep, etc.
[x] OMB_VERSION, --version for install.sh, omb, etc.
PROMPT_COMMAND
[x] Use _omb_util_add_prompt_command instead of directly assigning a value to PROMPT_COMMAND.
[x] Allow reloading (related to 028d2537392a5e1ec8166600105840e107eb65c9). We need to modify _omb_util_add_prompt_command
[ ] Check compatibility with bash-preexec. (ref #195)
[ ] IFS=$OLD_IFS etc causes problems when IFS is originally unset.
[ ] Maybe it is better that we only enable battery in themes when plugin:battery is loaded. Related #220, #286.
[x] Check all occurrences of $arr[...]
[x] _omb_module_require does not check already-loaded files though we implicitly assume that in some places.
[ ] The themes axin, binaryanomaly, and sexy are overwriting TERM, which is unusual. It seems to be used to force the later calls of tput to recognize 256 colors.
This is the todo list.
oh-my-bash.sh
. E.g.${...:t}
has a different meaning in Bash, -> #166fpath=(xxxx $fpath)
doesn't work in Bash. Also, there is no alternative for Zshfpath
in Bash. #274PROMPT
(set bystandard.theme
anddos.theme
) should not be enclosed by\[...\]
. To begin with, these themes should setPS1
instead ofPROMPT
.PREVIEW
should be moved to lib or plugin although I'm not sure what this settings is for.func()
vsfunction func
etc.function name {
vsfunction name() {
.[ ... ]
vs[[ ... ]]
, quoting inside,==
vs=
declare
andtypeset
in function scopeslocal
sset -u
set -f
completions/git.completion.sh
#277 thanks to @jeansebastienhtools/git-prompt.sh
oh-my-bash
can be distributed under the MIT license.lib/util.sh
andthemes/colours.theme.sh
-> namespacingOSH_*
andOMB_*
used by plugins and themes.bash-completion
but define a limited number of completions on its own?bash-completion
seems like automatically loaded inlib/bourne-shell.sh
command awk
,command sed
,command grep
, etc.OMB_VERSION
,--version
for install.sh, omb, etc._omb_util_add_prompt_command
instead of directly assigning a value to PROMPT_COMMAND._omb_util_add_prompt_command
IFS=$OLD_IFS
etc causes problems whenIFS
is originally unset.plugin:battery
is loaded. Related #220, #286.$arr[...]
_omb_module_require
does not check already-loaded files though we implicitly assume that in some places.