Giter VIP home page Giter VIP logo

Comments (6)

andylima avatar andylima commented on June 16, 2024 1

@marlonrichert I see. Thank you — I will use that workaround.

from zsh-snap.

marlonrichert avatar marlonrichert commented on June 16, 2024

If you make sure that Znap has been sourced before you source the script, then yes, that should work. In Zsh, there’s no difference between calling commands from the command line, in your .zshrc file or from a script.

from zsh-snap.

andylima avatar andylima commented on June 16, 2024

Oh, it's not a sourced script — it's a script file (where that command is) and I tried running it manually from the shell but I get an error that znap wasn't found.

I guess it won't work that way?... And there's no workaround?

from zsh-snap.

marlonrichert avatar marlonrichert commented on June 16, 2024

@andylima I have no idea what you’re talking about. Can you please give a concrete example?

from zsh-snap.

andylima avatar andylima commented on June 16, 2024

These are the contents of the script file:

#!/usr/bin/env zsh

# upd zsh plugins using `znap`
# ie: upd all zsh plugin repos

echo "=== Updating Zsh plugins ==="
echo

znap pull

The name of that script file is znu and it's on a folder that's part of my PATH. When I type znu and press Return, I get this error:

command not found: znap

from zsh-snap.

marlonrichert avatar marlonrichert commented on June 16, 2024

@andylima I dug into it a bit and found out that what happens when you run your znu script as an executable, rather than sourceing it, it gets executed in a subshell. The subshell inherits exported parameters, but nothing else from the parent shell. So, for all practical purposes, when you run your script as such, it is as if Znap has never been initialized.

The easiest way around this is to convert your script to a function. So, instead of adding it to your $path, add it to your $fpath and autoload it. That way, it will run inside the same shell.

from zsh-snap.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.