1
0
Fork 0
mirror of synced 2024-11-04 15:58:57 -05:00
Commit graph

100 commits

Author SHA1 Message Date
Eric Nielsen
a5fb148ccf
Force local zsh emulation options
so the code is not broken by unexpected option changes, like

    setopt RC_EXPAND_PARAM

which breaks

    print -R 'fpath=('${${_zfpaths#${~zpre}}:A}' ${fpath})'

in the _zimfw_build_init function, for example.

See #444.
2021-11-21 14:39:20 -05:00
Eric Nielsen
de685e8ef3
Minor text updates in warnings, errors, and usages 2021-11-15 19:37:40 -05:00
Eric Nielsen
e060934a9e
.git can be either a directory or a file
Git submodules usually have .git as file, actually. Zim modules should
not be git submodules, but we don't want Zim to be too smart here either.
See https://git-scm.com/docs/gitrepository-layout#_description
2021-11-11 13:46:28 -05:00
Eric Nielsen
cd71c8d228
Use git -C instead of changing to the module dir
when doing update using the git tool.
2021-11-10 22:50:17 -05:00
Eric Nielsen
ab613bf398
Narrow zmodule help text again
to avoid the horizontal scroll in the https://github.com/zimfw/zimfw
GitHub homepage, as GitHub made the width of the pre block further
narrower. (It's 94 characters now, was 97 before)
2021-11-08 20:05:32 -05:00
Eric Nielsen
503f2daf4c
v1.6.1 2021-11-08 12:03:49 -05:00
Eric Nielsen
811616cc60
Add missing -l in git tool print_okay
This fixes a regression introduced in commit b1edcf34d0.

Also don't use any option after `-R` just to be safe. The zshbuiltins(1)
manual states:

> Only the -e and -n flags are recognized after -R; all other arguments
> and options are printed.
2021-11-08 11:38:56 -05:00
Eric Nielsen
d7229bb6bc
v1.6.0 2021-11-06 17:04:47 -05:00
Eric Nielsen
4259e64d22
Update init action to also install new modules
so users don't get a "Not installed" error when they add a new module to
.zimrc and forget to run `zimfw install` after that.

See #440
2021-10-26 11:15:40 -05:00
Eric Nielsen
a86f69a2f1
Warn when module isn't installed with current tool
instead of showing it as an error. This change allow the message to be
omitted with `-q`.
2021-10-19 08:36:51 -05:00
Eric Nielsen
de7d2b131f
More verbose output in install and update actions
listing modules that are frozen or exernal.

Also be less colorful. And some other minor fixes: allow autoloading a
function name that starts with `-`, and add required quotes around
command subsitution (otherwise words are split).
2021-09-29 21:22:28 -05:00
Eric Nielsen
1d5c0c18d1
Initalization options are all auto or all manual
in `zmodule`, since there's no way to unset a default value to "nothing".
2021-09-26 19:47:44 -05:00
Eric Nielsen
b1edcf34d0
Use print -l to print multiple lines
and also remove extra quotes. Still only leave redundant quotes in

    zstyle -s 'context' style 'name'

as that's kind of a convention already.
2021-09-23 14:29:40 -05:00
Eric Nielsen
6ca4690edc
Further improve handling of external modules
Fix computing the list of unused modules by using the full `_zdirs`
instead of just the `_zmodules` names. The fixed code was even simpler
and cleaner, which makes it even more satisfying.  :- )

Show "not found" instead of "not installed" error when an external
module dir does not exist, since we don't install external modules.
2021-09-23 11:44:31 -05:00
Eric Nielsen
92e6d6b74b
Don't output warnings in quiet mode
For sake of simplicity, and also to distinguish warnings from errors.
So now we have:
  * errors: output to stderr, are **not** silenced with `-q`
  * warnings: output to stderr, are silenced with `-q`
  * info: output to stdout, are silenced with `-q`
  * solicited output (like help, info, or list): output to stdout, does
    not make sense to be silenced with `-q`

We also only have warning in 3 situations so far...  :- )
2021-09-21 16:47:04 -05:00
Eric Nielsen
9a67adfe3b
Update zimfw help text to be more detailed
and add more comments to the code to also hopefully make it clearer.
2021-09-21 08:27:56 -05:00
Eric Nielsen
7deda9c7f4
Show a more informative error when running zmodule
from the shell. This means getting

    zmodule: Must be called from ${ZDOTDIR:-${HOME}}/.zimrc

and the full zmodule usage, instead of getting

    zsh: command not found: zmodule

Fixes #430
2021-09-20 21:21:27 -05:00
Eric Nielsen
e097e6bf71
Add list action, don't run tool on external module
Using the `list` action with `-v` shows all current details for the
existing modules.
Don't try to install or update external modules, since they have an
absolute path instead of a valid URL.
2021-09-19 13:37:13 -05:00
Eric Nielsen
476bb6b320
Fix warning when WARN_CREATE_GLOBAL is set
and ZIM_HOME is not. It can be reproduced with:

    unset ZIM_HOME
    setopt WARN_CREATE_GLOBAL
    zimfw info

and the warning is:

    zimfw.zsh:33: scalar parameter ZIM_HOME created globally in function zimfw
2021-08-31 18:42:30 -05:00
Eric Nielsen
df70a1ca99
Fix update with git tool when module dir is under
an unresolved symlink.
2021-08-26 18:15:39 -05:00
Eric Nielsen
3bbddf2a23
Update zmodule help message 2021-08-25 16:12:48 -05:00
Eric Nielsen
c51898fef0
v1.5.0 2021-08-10 09:56:25 -05:00
Eric Nielsen
35cd6f5f23
Be careful with multiple variables in the same line
as one cannot depend on the other.
2021-08-09 22:28:13 -05:00
Eric Nielsen
f6b623f515
Do git clone with core.autocrlf=false
to override any `core.autocrlf=true` the user could have set globally.
Fixes #404
2021-08-09 20:32:32 -05:00
Eric Nielsen
7d43589843
Add zstyle to set default zmodule tool
and also simplify code by setting multiple variables at once. This
should make the resulting script a tiny bit smaller, while not
compromising on legibility.
2021-07-11 15:58:15 -05:00
Eric Nielsen
2c8f8e348e
Update help and error messages
and bring back the help message for -z|--frozen that was deleted
accidentally.
2021-07-01 18:08:25 -05:00
Eric Nielsen
5db2b66052
Allow uninstalling modules with custom names
that have a slash, as that yields subdirectories. For example:

    zmodule duration-info -n zimfw/duration-info
    zmodule git-info -n zimfw/git-info
    zmodule asciiship -n zimfw/asciiship
2021-06-17 20:05:01 -05:00
Eric Nielsen
7d533fcecd
Add diff to degit
so we show at least some change log. Not the same as a git log, and I
hope this is good info for users.
2021-04-23 19:15:20 -05:00
Eric Nielsen
89d6f7b7f3
Rename .zim_degit_info to .zdegit
Nicer and way simpler!
2021-04-21 19:37:47 -05:00
Eric Nielsen
2869851379
Fix degit update
Had to remove ${DIR} before renaming ${dir_new} to ${DIR}.

Also also add ${REV} to the info file, in case we need it in the future,
when extracting Zim's degit as a standalone tool for example.
2021-04-08 16:28:47 -05:00
Eric Nielsen
cffd456556
Add new degit tool \o/
and rename previous to git.

Tools allow for different install and update scripts. The git tool does
what the previous implementation did (installs and updates using the git
client). The new tool installs and updates with the GitHub API, not
using the git client, but using curl/wget and tar instead.

Closes #373
2021-04-07 17:54:47 -05:00
Eric Nielsen
b4b9829360
v1.4.3 2021-03-19 18:44:53 -05:00
Eric Nielsen
163d36b61b
Use Zsh scripting instead of sed, sort and tail
`foo | sed 's?^.*/v??' | sort -n -t. -k1,1 -k2,2 -k3,3 | tail -n1` is
the same as `${${(On)${(f)"$(foo)"}##*v}[1]}`. We don't want to depend
on external tools that might not be available in all platforms.
2021-03-19 18:14:31 -05:00
Eric Nielsen
65783e61ed
Use 2 as exit code for usage errors
See https://tldp.org/LDP/abs/html/exitcodes.html
2021-03-19 17:13:21 -05:00
Eric Nielsen
f7c0bbeb36
Prefer the prezto module format
to avoid conflicts when we have Zim modules made to also be compatible
with ohmyzsh, like https://github.com/zimfw/pvenv
We don't want to be affected by the noise a `${module_name}.plugin.zsh`
file creates, as we always want to source `init.zsh` when a module also
has a `functions` subdir. Hope this better protects us from the "wild
west out there".
2021-03-16 17:04:40 -05:00
Eric Nielsen
1df02c57df
v1.4.2 2021-02-19 15:30:30 -05:00
Eric Nielsen
6d577d7f6a
Fix update.zsh.erb for renamed HEAD remote branch
We need to fetch all branches first to handle the scenario when the HEAD
remote branch was renamed. Recently repositories started changing their
HEAD branch names from master to main.
Fixes #424
2021-02-19 15:30:27 -05:00
Eric Nielsen
ddfba96c88
v1.4.1 2021-02-17 18:28:24 -05:00
Eric Nielsen
12dab4e893
Fix getting HEAD remote branch in update.zsh.erb
instead of getting just the current local branch.
2021-02-17 17:51:22 -05:00
Eric Nielsen
36aa1b3fe9
Fix getting default branch in update.zsh.erb
The regression was introduced in commit 3567694. I wrongly assumed that
`git fetch -pq origin HEAD` would fetch from the remote default branch.
Fixes #423
2021-02-17 15:55:38 -05:00
Eric Nielsen
3e06f0aa99
v1.4.0 2021-01-07 13:41:35 -05:00
Eric Nielsen
bcae8c0a06
Set default ztype in update.zsh.erb
since we're already setting the default zrev in there too. Leave both
blank in zmodule if they're not set by the user.
2021-01-04 21:20:03 -05:00
Eric Nielsen
3567694a0f
Use repository's default branch
instead of hardcoding the default to `master`, when no branch is
specified in `zmodule`.
Fixes #422
2021-01-02 19:09:52 -05:00
Eric Nielsen
153c547466
Add build date in info
Fixes #421
2021-01-02 18:40:58 -05:00
Eric Nielsen
dfbe535430
Also force update login_init.zsh
as we do for init.zsh, so behavior is symmetric. This guarantees that
both init.zsh and login_init.zsh will always have newer timestamps than
.zimrc after a build.
2020-11-23 09:40:13 -05:00
Eric Nielsen
c6f0720abc
Fail when no parameter is provided to -c|--cmd
Forgot to add this check when the new option was introduced.
2020-11-07 14:42:04 -05:00
Eric Nielsen
78b4711750
Prompt before zimfw uninstall, unless -q is set
Prompt before uninstalling modules, so users have a chance to review the
list before moving forward with the action.
2020-10-26 19:32:25 -05:00
Eric Nielsen
ef4fe38716
Narrow zmodule help text
to avoid the horizontal scroll on it in the https://github.com/zimfw/zimfw
GitHub homepage.
2020-10-11 12:24:01 -05:00
Eric Nielsen
fbf0fe0ac6
v1.3.2 2020-08-01 09:39:07 -05:00
Eric Nielsen
ccace0ca74
Clean compiled files from absolute path modules
We were already compiling at these paths, but not cleaning the compiled
files.
Fixes #399
2020-07-31 21:03:47 -05:00