Releases: kamontat/myzs
Improvement
Highlight update
- Change how we setup modules
- Reduce unused/unnecessary settings
- Remove unused/unnecessary features
- Reduce log on debug/info level
- Do some upgrade plugins syntax/schema
- Fix several of bugs
Changelogs
Version 5.3.4 (10 May 2021)
- add logging when checking os and shell
- upgrade app/gcloud.sh to support latest version
- add new plugin
myzs-plugins/python
for conda support - now plugin default branch will be main instead of master
Version 5.3.3 (21 Apr 2021)
- add error progress when zplug load failed
- add error progress when configured zplug failed
- add error when loading module with error and
pb/performance
is enabled - change custom zplug plugins list name from
myzs:zplug:plugin-list
tomyzs:zplug:custom:plugin-list
- fix not color final message from progressbar
- fix
source "$file"
return zero even error occurred
Version 5.3.2 (21 Apr 2021)
- fix
/tmp/myzs
didn't create for data and log path - log file will create even never write any log to file
Version 5.3.1 (16 Apr 2021)
- fix deploy-plugins scripts
Version 5.3.0 (16 Apr 2021)
- [BREAK] module will not reload if last load is passed
- move
$MYZS_SETTINGS_AUTOLOAD_SETUP_LOCAL
,$MYZS_SETTINGS_SETUP_FILES
and$MYZS_LOG_LEVEL
to new settings format - add new settings
myzs/zplug
for enabled / disabled zplug completely - change settings
path/auto-open
toautomatic/open-path
- change default metrics to disabled
- add alias/git.sh by default
- remove src/alias/fuck.sh use
myzs-plugins/thefuck#master
plugins instead - remove src/app/generator.sh and src/app/github.sh use
kamontat/mplugin-kamontat#master
plugins instead - remove src/app/fuck.sh
- remove src/app/fzf.sh
- remove src/app/trivis.sh
- support settings value as array
- comment a lot of unused zplug plugins
- remove all
_myzs:internal:log:set-level
function - add new array support apis in settings.sh module
- update helpers apis list
- remove project myzs-setup since git is loaded by default
- remove
$MYZS_TYPE
on plugin template [plugin] - fix deploy script throw error when beta/alpha version is preset
Version 5.3.0 beta (15 Apr 2021)
- move settings to single array
${MYZS_LOADING_SETTINGS}
- add new modules helper/setting.sh to manage about all settings
- make all debug log from checker to be lower case
- remove log from
_myzs:internal:checker:string-exist
- update myzs type to use setting api
- add quote to all data in checker api debug log
- change all warning log from checker api to debug
- remove start command and start command arguments
- remove welcome message
- reduce log when initial modules from 2 to 1 line
- format log level to print on the same column
- remove
$MYZS_USER
,$__MYZS__USER
and$DEFAULT_USER
Introduce new way to settings application
Problem
After introduce a lot of features, we find the problem with too many settings variable create on main .zshrc
files. So we start migrate settings to bash array format like below
export MYZS_LOADING_SETTINGS=(
# enabled or disabled zplug modules and plugins
# for custom plugins look to `Zsh dependencies plugins` section
"$" enabled myzs/zplug
# List of enabled log level, this is case insensitive
# "error" "warn" "info" "debug"
"$" array logger/level "error"
# checking copy data. if it path go to that path automatically
"$" enabled automatic/open-path
# add trigger event to cd command to check .myzs-setup file
"$" disabled setup-file/automatic
)
This a allow us to scale even more and support setting on plugins / modules level.
With Plugins
Introduce
MYZS has been a support module for a very long time ago, but the problem with module is it ship with core/builtin modules. We cannot hide or remove if user didn't use.
Plugins is born to resolve this problem. The plugin basically is a repository that contains multiple modules that will cache on local machine and loading by $MYZS_LOADING_MODULES
variable.
Currently, the plugin can be hosted on GitHub only, and the project will cloned via git ssh command. You can create as public or private repository via template project at myzs-plugins organization.
After creating your own plugin repo, you can import them via setting in the $MYZS_LOADING_PLUGINS
variable. The syntax is <user>/<repo>#<branch>
. This setting will download and setup plugin in local for you, then you need to add the module manually in $MYZS_LOADING_MODULES
variable with syntax is <plugin_name|builtin>#<module_folder>/<module_file_with_or_without_extersion>
.
Example
# plugin
export MYZS_LOADING_PLUGINS=(
"myzs-plugins/core#master"
"myzs-plugins/git#v1.0.1"
"kamontat/custom-plugin#develop"
)
# module
export MYZS_LOADING_MODULES=(
"builtin#app/myzs.sh"
"myzs-plugins/core#alias/shell.sh"
"kamontat/custom-plugin#app/test.sh"
)
Release notes
Version 5.0.0
- introduce a new plugin system
- introduce a new module system
- refactor all method to support the new syntax
- the progress bar will support 3 levels of color that is normal, warning, and danger
- support config progress bar message size via $MYZS_PG_FULLMESSAGE_LENGTH and $MYZS_PG_MESSAGE_KEY_LENGTH
- support disable some log level as $MYZS_LOG_LEVEL variable
- support disabled progress bar via .zshrc config
- improve log message for progress dump in small type
- reduce builtin module, and use a plugin instead
- module resolve will check all builtin and plugin files. It might cause a high load
myzs-download
now support upgrade myzs and myzs-plugin
Version 5.0.1
- fix disable progressbar should not disable loading time
- update document on root and helper
- update default $MYZS_SETTINGS_SETUP_FILES to only 1 file name ("myzs-setup")
- reduce default $MYZS_LOG_LEVEL to log only "error" and "warn"
- update default $MYZS_PG_SHOW_PERF to false
- increase default $MYZS_PG_TIME_DANGER_THRESHOLD_MS from 500 to 600
- increase default $MYZS_PG_TIME_WARN_THRESHOLD_MS from 100 to 200
Version 5.0.2
- fix some typo in the log message and return value
- fix wrong module name in the log message when using skip
- fix unnecessary pass module path to module arguments
- remove changelog of version 4.0.0 - 4.5.2
New features
Release notes
Feature
- introduce new modules loading,
MYZS_LOADING_MODULES
- add prefix to all modules to support same name
- all modules will able to load manully after initial finish by
myzs-load
ormyz-setup-local
command myz-setup-local
will look for .myzs-setup file in current directory and load them- add
MYZS_SETTINGS_AUTOLOAD_SETUP_LOCAL
to autoload .myzs-setup files - improve log file name, by add date and separate log
- add
agssh
command - add
tmux
application withtmux-start-servers
command
Improvement
- for
MYZS_START_COMMAND
|MYZS_START_COMMAND_ARGUMENTS
|MYZS_SETTINGS_WELCOME_MESSAGE
will check by empty string instead of null - remove exclude component
MYZS_EXCLUDE_COMPONENTS
, useMYZS_LOADING_MODULES
instead - change loading script typo and remove separate task between app and alias
- when load .env file myzs will log every variable that created
- alias exist myzs command
myzs-upload
=>mupload
2.myzs-download
=>mdownload
3.myzs-list-changelogs
=>mlc
4.myzs-list-modules
=>mlm
myzs-load
=>mload
myzs-setup-local
=>mlocal
- improve
agkube
command - improve
adsf
application script
Chore
- format stdout in deploy script
- add
__myzs_is_mac
method to check is macos
New Improvement
Features
- Add new myzs command
myzs-info
for print myzs application information - Add new myzs command
myzs-list-changelogs
for print myzs release notes
Improvement
- Add base filename to log message identify which file log come from
BREAK CHANGES
- Changes log file variable from
$MYZS_LOGFILE
to$MYZS_LOGPATH
- Changes log file location from /tmp/myzs.log to /tmp/myzs/logs/main.log
- New changelogs format
Improvement
Improvement
- Change
MYZS_SETTINGS_AUTO_OPEN_PATH
default value totrue
- Change
PG_SHOW_PERF
default value totrue
- Add zsh completion for
docker
anddocker-compose
- Add new alias for support
docker
- Add
gdi
forgit diff -w --ignore-all-space
- Change
git restore
togrs
andgrss
to avoid duplicate with the terminal command - Add an alias to
tmux
ast
- Remove
b4b4r07/enhancd
as I never use it - Add support node LTS version. the current setting is 12
- Add a lot of settings of zsh specify.
Fix bug
- The .env files will be loaded when initial zsh session, this file is designed for saving private token to confident data
- Fix all errors in command script for install, global install, and uninstall. Therefore, I delete the individual running script.
- Fix
newtab
command in macOS error. - $GOPATH bin should override any command that exists in $PATH
- Fix the wrong configuration when iterm integration shell script loading
- Sometimes, $PATH is duplicate
Document
- Update README about installation and uninstallation
Fixes and Improvement
Improvement
- Change default theme to
spaceship
- add new small script for ssh and temp computer
Fixes
- fix theme not load in new computer
- fix java error in new computer