Skip to content

Releases: kamontat/myzs

Improvement

10 May 05:03
Compare
Choose a tag to compare

Highlight update

  1. Change how we setup modules
  2. Reduce unused/unnecessary settings
  3. Remove unused/unnecessary features
  4. Reduce log on debug/info level
  5. Do some upgrade plugins syntax/schema
  6. 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 to myzs: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 to automatic/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

16 Apr 15:08
Compare
Choose a tag to compare

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

15 Sep 09:24
70ed1b7
Compare
Choose a tag to compare

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

10 Aug 07:19
ccc5820
Compare
Choose a tag to compare

Release notes

Feature

  1. introduce new modules loading, MYZS_LOADING_MODULES
  2. add prefix to all modules to support same name
  3. all modules will able to load manully after initial finish by myzs-load or myz-setup-local command
  4. myz-setup-local will look for .myzs-setup file in current directory and load them
  5. add MYZS_SETTINGS_AUTOLOAD_SETUP_LOCAL to autoload .myzs-setup files
  6. improve log file name, by add date and separate log
  7. add agssh command
  8. add tmux application with tmux-start-servers command

Improvement

  1. for MYZS_START_COMMAND | MYZS_START_COMMAND_ARGUMENTS | MYZS_SETTINGS_WELCOME_MESSAGE will check by empty string instead of null
  2. remove exclude component MYZS_EXCLUDE_COMPONENTS, use MYZS_LOADING_MODULES instead
  3. change loading script typo and remove separate task between app and alias
  4. when load .env file myzs will log every variable that created
  5. alias exist myzs command
  6. myzs-upload => mupload
    2.myzs-download => mdownload
    3.myzs-list-changelogs => mlc
    4.myzs-list-modules => mlm
  7. myzs-load => mload
  8. myzs-setup-local => mlocal
  9. improve agkube command
  10. improve adsf application script

Chore

  1. format stdout in deploy script
  2. add __myzs_is_mac method to check is macos

New Improvement

18 Jun 06:22
71db450
Compare
Choose a tag to compare

Features

  1. Add new myzs command myzs-info for print myzs application information
  2. Add new myzs command myzs-list-changelogs for print myzs release notes

Improvement

  1. Add base filename to log message identify which file log come from

BREAK CHANGES

  1. Changes log file variable from $MYZS_LOGFILE to $MYZS_LOGPATH
  2. Changes log file location from /tmp/myzs.log to /tmp/myzs/logs/main.log
  3. New changelogs format

Improvement

04 Feb 13:38
5d1633b
Compare
Choose a tag to compare

Improvement

  1. Change MYZS_SETTINGS_AUTO_OPEN_PATH default value to true
  2. Change PG_SHOW_PERF default value to true
  3. Add zsh completion for docker and docker-compose
  4. Add new alias for support docker
  5. Add gdi for git diff -w --ignore-all-space
  6. Change git restore to grs and grss to avoid duplicate with the terminal command
  7. Add an alias to tmux as t
  8. Remove b4b4r07/enhancd as I never use it
  9. Add support node LTS version. the current setting is 12
  10. Add a lot of settings of zsh specify.

Fix bug

  1. The .env files will be loaded when initial zsh session, this file is designed for saving private token to confident data
  2. Fix all errors in command script for install, global install, and uninstall. Therefore, I delete the individual running script.
  3. Fix newtab command in macOS error.
  4. $GOPATH bin should override any command that exists in $PATH
  5. Fix the wrong configuration when iterm integration shell script loading
  6. Sometimes, $PATH is duplicate

Document

  1. Update README about installation and uninstallation

Fixes and Improvement

29 Mar 07:47
Compare
Choose a tag to compare

Improvement

  1. Change default theme to spaceship
  2. add new small script for ssh and temp computer

Fixes

  1. fix theme not load in new computer
  2. fix java error in new computer

Refactor

05 Sep 08:25
Compare
Choose a tag to compare

This might cause BREAK_CHANGES some place so read the code clearly before install.

3.0.0

03 Sep 05:08
Compare
Choose a tag to compare
[feature] Add more features