Commit Graph

48 Commits

Author SHA1 Message Date
Kevin Song 0e738175c5
fix(install): do not use curl installed through snap (#5442)
* fix: Do not install with snap-curl

Snap-installed curl doesn't work: when trying to download files from
GitHub, it either fails to download the file, or fails to write the
output at all.

Prevent a curl program which is installed with snap from being used to
download starship.

* Update install.sh

* Minor changes to formatting and wording
2023-10-11 15:22:34 +02:00
Kevin Song 001253cebe
ci: Fix how version is obtained for pkgbuild (#5443)
* fix: Change how starship version is determined

* Add STARSHIP_VERSION envar into CI for notarization

* More strict!

* Supress pushd/popd output

* Fix shellcheck issue with quoting
2023-10-01 08:59:34 +02:00
David Knaack 5e9acb7e80
ci: fix choco package push (#5349) 2023-08-04 09:06:37 +02:00
Antoine Stevan 470aeb09a7
feat: update the nushell init file and make it valid module and overlay (#5188)
* break long commands into multiple lines for readability

* fix the format of closures

We generally write `{|| ...}` instead of `{ || ...}`.

* remove the `$"--opt=(val)"` structure when possible

`starship` does not require to use `--opt=val` and so we do not
need to do that with Nushell :)

the only place where this is required is with `--status` because
`$env.LAST_EXIT_CODE` can be negative and `starship` does not
appear to *like* values of the form `-2`...
so i left this line as it was.

on the other hand, `$env.CMD_DURATION_MS` and `(term size).columns`
should be fine 😌

* simplify the `config` mutation with new `?` syntax

This is a new very handy feature of Nushell which gives a much
simpler command combined with `default` and `merge`.

* put all `let-env`s inside an `export-env` with `load-env`

This commit has two reasons of existing:
- i think it makes it a bit easier to read with less `let-env`s
- it transforms the *script* into both a valid module and a valid
overlay

* bump the version to `0.78` in to docs

* add a note about the init file being also a module to all docs

* tweak the documentation

* update the Nushell part of the install script

* format the vuepress config file

as previous commit 117580136d3da5e00a4ccb7ada508c8510a2e50e was
not successful, let's try to make the CI happy manually 😌

* remove code quotes in the `config_cmd` of Nushell

* format the style in the Nushell `warning` section
2023-06-12 11:02:46 +02:00
David Knaack f234847318
chore(choco): remove chocolatey dependency (#5078) 2023-04-12 20:38:33 +02:00
Zhizhen He 0f8a2d9363
chore: add spell checker to workflows (#4975)
* chore: add spell checker to workflows

* fix: update config schema

* fix: revert for fennel.rs
2023-03-22 13:42:46 -05:00
Zhizhen He 000f5ed10d
docs(install): fix typo and update indentation and whitespaces (#4941) 2023-03-08 09:42:00 -06:00
David Knaack b55774d3a6
feat(release): handle chocolatey starship.portable and starship.install pkg publishing (#4723)
Handles starship.install (MSI installer) and starship.portable and makes starship an 
empty meta-package that only depends on starship.install. MSI/installer packages 
seem to be preferred over zip-based installers on chocolatey. Proper virtual packages 
that allow choosing either a portable or install variant aren't implemented in chocolatey yet.
2023-02-27 23:03:32 -06:00
Michel Alexandre Salim 498f489ee0
docs(install): update nushell instructions in installation script (#4921)
Improve Nushell installation instruction

Consistently use `save -f` rather than `save`; the latter fails if the
file already exists

Signed-off-by: Michel Alexandre Salim <michel@michel-slm.name>
2023-02-23 09:42:22 -06:00
cassis163 69929dd0ac
docs(nu): Add `-f` flag (#4777)
* Add missing -f flag in documentation

* Fix Nushell version
2022-12-30 18:04:47 +01:00
David Knaack df37e8d40c
feat(release): add chocolatey publishing (#4637)
* feat(release): add chocolatey publishing

* change variable forwarding
2022-11-25 17:19:03 +01:00
Thomas O'Donnell 2ffe1737f0
fix(install): Have fixed a spacing issue in output (#4082)
fix(install): Have fixed a spacing issue in outpu

Have fixed a minor spacing issue in the help output of the install
script.
2022-06-18 23:22:57 +02:00
David Cantrell 1a91510bed
fix(install): ignore tarfile ownership values when installing as root (#4046) 2022-06-05 12:56:58 -04:00
David Knaack 89fd5320af
feat(release): add windows msi installers (#4031)
* feat(release): add windows msi installers

* add install documentation

* use intransparent ico-file

* run installer tests on push, add continue-on-error
2022-06-02 22:26:10 +02:00
David Knaack 382445dc4d
fix(nu): use the most recent starship init (#3908) 2022-05-04 19:02:39 -04:00
David Knaack c9b75fe115
fix(init): Change Nushell init for nu 0.60 (#3773) 2022-03-24 15:06:24 -04:00
César Román 4fbab4e389
chore(install): fix typo in help message (#3735)
* chore(install): fix typo in help message

* chore(install): drop trailing `s` for consistency

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2022-03-11 14:48:19 -06:00
Kevin Song ef967271e6
fix(install): Add -o flag to unzip to match tar (#3727)
By default, unzip will attempt to query the user when files to be
installed already exist. Unfortunately, if the install script is run
with `sh -s`, unzip will read the remaining portion of the script as
input, resulting in a mess on the terminal.

This commit changes the unzip behavior to clobber existing files: this
already happens for platforms using tar, so it's not hugely breaking
(and I could find no evidence that we believe this is more likely to
cause issues on Windows)
2022-03-10 11:40:43 -06:00
César Román a85f65473d
refactor(install): remove trailing slash from `BIN_DIR` (#3723)
The installation script warns about `BIN_DIR` not being found in `$PATH`
when the users pass a trailing forward slash.

This has been discussed in #1310, #1341, and #3486.

Fixes #3493
2022-03-10 11:40:33 -06:00
Kevin Song 955a0f7a33
ci: Notarize MacOS Binaries and Add Flat Package Installers (#3571)
* ci: Notarize MacOS

* Modify logging and documentation to be better

* Make a copy of certain parts of the deploy workflow

* Delete testing workflow
2022-02-27 15:58:28 -06:00
Kevin Song a84a3af002
feat(install): Add posix shell check (#3474)
* feat(install): Add posix shell check

* Change function name
2022-01-21 17:25:49 +01:00
Rashil Gandhi c335b4267b
feat: add support for cmd (#3277)
* feat: add support for cmd

* add preprompt and precmd support

* add keymap support

* add info about minimum Clink version

* simplify escaping

* add handling for cmd custom commands

* add support for transient_prompt and transient_rprompt

* Revert 914057952508e81e20086fcb707ba2a0be85fdd3

This reverts commit "add support for transient_prompt and transient_rprompt"

* Apply suggestions from code review

* disable cmd shell custom commands

* any shell other than cmd can be used

* better error and correct script location

* move shell check in `map_no_escaping`
2022-01-09 23:47:53 -06:00
David Knaack 67cddb616b
fix(elvish): upgrade shell integration for v0.17 (#3310) 2021-12-30 09:49:55 +01:00
James Conroy 296718ce28
refactor: install.sh to improve usage and install instructions (#3025)
* Refactored the usage function to use printf

Using printf to print the usage function instead of a here doc handles
the formatting for us so it will be consistent across a wide variety of
terminal emulators. Here docs also tend to mess up auto-formatters so
removing it has that added benefit.

* Made the install instructions their own function

The function loops through simular install instructions so this way we
won't have to repeat ourselves every time we add a new supported shell.

* Set default config_file location

The default location is based on the name of the shell. It is overwritten when needed.

Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>

Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>
2021-09-06 12:10:41 -05:00
Jeremy Schlatter b1dcd5aecd
feat: add support for xonsh (#2807)
* feat: add support for xonsh

* xonsh: add STARSHIP_SESSION_KEY

* xonsh: implement STARSHIP_SESSION_KEY in xonsh

* docs: mention tcsh, elvish, and nu in more places

* xonsh: change STARSHIP_SESSION_KEY implementation

See https://github.com/starship/starship/pull/2807#discussion_r667064149

* xonsh: fix jobs implementation

* xonsh: do not silently discard stderr from starship
2021-07-16 15:25:01 -04:00
Thomas O'Donnell b688356c26
refactor(install): Remove local from install.sh (#2745)
Have removed the `local`s from `install.sh` to allow the script to work
on ksh.
2021-05-19 20:47:38 +02:00
Thomas O'Donnell fb02a4523b
feat(install): Add help argument to install.sh (#2729) 2021-05-18 10:01:02 -04:00
David Knaack 49d678a043
fix(install): fix install with busybox tar (#2583) 2021-04-14 18:52:16 +02:00
Vivek Malneedi 69b9bf72c3
fix(tcsh): remove quotes and escape backticks (#2429)
* feat: add support for tcsh

* add tcsh to install.sh install message

* list tcsh in bug_report.rs and main.rs

* quote starship path

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>

* fix job count

* add tcsh support to shell module

* fix STARSHIP_START_TIME undefined error

* preserve existing user precmd and postcmd, remove jobs support

* remove unnecessary parentheses

* minor script improvement

* removes parens from install script message

* Update docs/config/README.md

Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>

* fix(Tcsh): remove unecessary quotes

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>
2021-03-12 16:27:04 +01:00
Deavon M. McCaffery d1b2723033
feat(install): make install script posix compliant (#2228)
- update shebang to support posix-compliant shells (like dash)
- replace all usages of echo with printf (to normalise)
- command variable to fetch_cmd as it overloads a posix 
- rename complete function to completed as it overloads 
  the bash builtin for completion

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2021-03-03 16:57:36 -06:00
Vivek Malneedi d21400a478
feat: add support for tcsh (#2288)
* feat: add support for tcsh

* add tcsh to install.sh install message

* list tcsh in bug_report.rs and main.rs

* quote starship path

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>

* fix job count

* add tcsh support to shell module

* fix STARSHIP_START_TIME undefined error

* preserve existing user precmd and postcmd, remove jobs support

* remove unnecessary parentheses

* minor script improvement

* removes parens from install script message

* Update docs/config/README.md

Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>

Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>
2021-02-27 19:55:27 +01:00
David Knaack 383d2df580
build: add x86_64 freebsd build (#2233) 2021-01-30 12:50:38 +01:00
David Knaack 6bb79039a3
fix(install): use correct arch name in 32-bit test (#2234) 2021-01-29 16:54:36 -05:00
David Knaack 857d536488
build: add aarch64 windows build (#2213) 2021-01-26 22:40:48 +01:00
David Knaack 132be11790
build: add builds for various targets (#2137)
* build: add builds for various targets

* fix typo

Co-authored-by: Matan Kushner <hello@matchai.me>

Co-authored-by: Matan Kushner <hello@matchai.me>
2021-01-21 23:17:02 +01:00
David Knaack 89b5772699
fix(install): improve supported target detection (#2121)
* fix(install): improve supported target detection

* move supported target list into top level variable
2021-01-13 19:39:39 +01:00
Thomas O'Donnell 2dbee86afe
fix(install): Detect cygwin_nt as Windows (#1989)
This fixes the install script by detecting cygwin_nt* as Windows.
2021-01-09 15:45:42 +01:00
Thomas O'Donnell 9d5770544e
fix(install): Better platform detection (#1827)
Have refactored the platform detection in the install script to try to
better detect Windows when running the Windows install script.
2020-10-25 10:16:47 +01:00
sokai d46c76920e
style(install): Simple code style fix in install.sh (#1690)
* Update install.sh

fixed only coding style (ShellCheck gave me a hint ;-))

* Make PR Bot happy
2020-10-03 10:58:06 +02:00
Thomas O'Donnell 2e14d1af5a
fix(install): switch to install the musl binaries by default (#1590)
We have had a few issues where users haave run the install script and
have ended up with a non-functioning version of starship because their
system doesn't have a required lib that we link against. To avoid these
problems it seems the easiest solution is to default to using the
statically compiled musl binaries. If a user knows that they are doing
they can use the non-statically compiled binaries by supplying the `-p`
argument to the installer. Note this is what other rust based tools such
as ripgrep do.
2020-08-16 11:30:10 -04:00
Or Bin 297cbd8654
fix: fixed a typo: permission → permissions (#1459) 2020-07-08 17:26:51 -04:00
Kevin Song 6ecabdfee4
fix: errant space breaks tar in installer (#1314) 2020-06-11 13:12:14 -05:00
Dario Vladović 30ff5913be
style: address shellcheck issues in install.sh (#1305)
Fixes some shellcheck issues in the install script. Also normalizes
formatting with `shfmt` program.
2020-06-10 13:40:05 -05:00
Kevin Song 3ebd2c0ad5
fix: Update install.sh for Windows (#1300)
Adds several cross-platform utility functions to the install.sh script and 
rewrites core functionality so that it might work on Windows. Among these are:
 - Correct platform extensions to match the output of `detect_platform`
 - Check to make sure installation directory actually exists
 - If sudo is not available, print a message asking the user to manually 
   escalate
 - Unpack zip files (used for Windows builds) without using pipes, since zip 
   files cannot be read through pipes

After these changes, install.sh works on a testing copy of Git Bash on Windows,
though it still has known issues (e.g. if the `unzip` program is not installed,
it will crash).
2020-06-09 17:21:35 -05:00
Diego Jornada b1bc2a04a4
feat(installer): Ask for permission escalation during installation, if needed (#914) 2020-02-12 21:13:21 -05:00
AppleTheGolden 8084c2e61d fix: Fix shellcheck issues in install.sh (#714) 2019-12-20 10:54:40 -05:00
BuggStream 93701b26b3 feat: Add support for the ion shell (#704) 2019-12-11 15:31:30 -05:00
Matan Kushner 5b440c0bb0
docs: Simplify installation process and docs (#643) 2019-12-05 13:15:21 -05:00