Support custom shells #108
Replies: 6 comments 24 replies
-
Exportability of shell commands using a custom shellCustom shells need to be exportable (see #151) so that exported shell commands can use them. This means that custom shells need to have their identifiers based on the shell executable's name, so that if two users define e.g. For built-in shell definitions, a shell identifier is currently determined from the shell executable's path: Remove the directory from the path, and use the file name as the shell's identifier. E.g. path Allow exceptionally changing the identifierIf a user wants to use e.g. two different installations of |
Beta Was this translation helpful? Give feedback.
-
Just thought I'd add my two cents I'm in the process of setting up a vault set up for a specific task (writing), and I'm adding all sorts of buttons and whatnot. Since I want it to be cross platform, I decided to use shell (in this case I was just curious what your thoughts were on integrating busybox into SC natively rather than using my somewhat hacky solution (a folder which gets added to PATH that contains the busybox binary plus symlinks for the different commands). It should be relatively easy to do, I'm just curious as to whether that's a direction you want your project to go. If so, then I'd wait for that to be added, otherwise I'll continue with my current setup. I hope that made any semblance of sense, if not just ask for (Specific!) clarification. Frippery busybox: https://frippery.org/busybox/index.html Edit: Some things I should have clarified symlinks are to call busybox directly without specifying My idea for implementation would be this:
But I digress. |
Beta Was this translation helpful? Give feedback.
-
I've started developing custom shellsThe progress can be followed in issue #297, but I'll probably add some summary updates on this discussion, too. I'm aiming this to be released in |
Beta Was this translation helpful? Give feedback.
-
Anyone interested in participating in a beta test?I can do a beta release for this feature some time (cannot give any date, though). I'm really interested to hear feedback about this. My imagination on testing this is very limited. I'm just using WSL and MinGW-w64 myself (both are for Windows). Would be nice to hear how this feature performs with other shells, too, and on other operating systems. Maybe I should test Wine on Linux, too. If you are interested, comment below. As making a beta release involves some extra work for me, I'm asking you to only volunteer if you can agree to:
|
Beta Was this translation helpful? Give feedback.
-
BusyBox as a custom shellHi @TheRealGramdalf ! 🙂 Would you like to test the SC I'd like to get feedback about the custom shell feature, so if you encounter any problems with it, or have ideas on how to improve it, please let me know. 🌞 |
Beta Was this translation helpful? Give feedback.
-
Custom shells support is now released🎉 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I thought I had already created a discussion for this, but didn't find one. But anyway here it is now.
0.7.0
will add an ability to choose a shell that will be used for executing shell commands. But the shell choice is limited to the following options:Windows:
Linux & Mac:
If a user happens to have some other shell than one of those defined in their operating systems's user preferences, SC
0.7.0
will not allow executing commands on that shell, because it does not know, what kind of special character escaping method it should use.I want to allow users to add their own shells in the main settings view. When they define a new shell, they need to select, will it use the same escaping that Bash etc. uses (
\
escape character), or PowerShell escaping (`
escape character). After defining a new shell, it can be selected as a default shell for all commands, or as for specific commands.Edit 2022-07-21: Added the following:
Properties that custom shells should define
Added 2022-11-14:
/
\
{{file_path}}
would normally returnC:\MyVault\MyNote.md
, and if using Windows Subsystem for Linux (WSL), then the Windows path format will not work, and it needs to be converted to a path suitable for WSL:/mnt/c/MyVault/MyNote.md
. Consider should this be a JavaScript snippet, or would regex be enough?;
, on Linux and macOS it's:
. Used when augmenting$PATH
environment variable. There might be other use-cases as well, whenever multiple paths must be listed in a single string. (Added 2022-12-05).Beta Was this translation helpful? Give feedback.
All reactions