Skip to content

Commit

Permalink
Add support for Bun
Browse files Browse the repository at this point in the history
  • Loading branch information
will-stone committed Jan 23, 2024
1 parent fbca958 commit d220b9d
Show file tree
Hide file tree
Showing 13 changed files with 55 additions and 9 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## [v6.2.0][] (Jan 23 2024)

### Features

- Add a new `bun` item.

## [v6.1.1][] (Dec 27 2023)

### Bug fixes
Expand Down
6 changes: 6 additions & 0 deletions functions/_tide_item_bun.fish
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
function _tide_item_bun
if path is $_tide_parent_dirs/bun.lockb
bun --version | string match -qr "(?<v>.*)"
_tide_print_item bun $tide_bun_icon' ' $v
end
end
4 changes: 3 additions & 1 deletion functions/_tide_item_node.fish
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
function _tide_item_node
if path is $_tide_parent_dirs/package.json
if path is $_tide_parent_dirs/package.json and
# If Bun is detected assume that is being used over node
not path is $_tide_parent_dirs/bun.lockb
node --version | string match -qr "v(?<v>.*)"
_tide_print_item node $tide_node_icon' ' $v
end
Expand Down
2 changes: 1 addition & 1 deletion functions/_tide_remove_unusable_items.fish
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
function _tide_remove_unusable_items
# Remove tool-specific items for tools the machine doesn't have installed
set -l removed_items
for item in aws crystal direnv distrobox docker elixir gcloud git go java kubectl nix_shell node php pulumi python ruby rustc terraform toolbox zig
for item in aws bun crystal direnv distrobox docker elixir gcloud git go java kubectl nix_shell node php pulumi python ruby rustc terraform toolbox zig
contains $item $tide_left_prompt_items $tide_right_prompt_items || continue

set -l cli_names $item
Expand Down
2 changes: 1 addition & 1 deletion functions/tide.fish
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ function tide --description 'Manage your Tide prompt'
argparse --stop-nonopt v/version h/help -- $argv

if set -q _flag_version
echo 'tide, version 6.1.1'
echo 'tide, version 6.2.0'
else if set -q _flag_help
_tide_help
else if functions --query _tide_sub_$argv[1]
Expand Down
6 changes: 4 additions & 2 deletions functions/tide/configure/configs/classic.fish
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
tide_aws_bg_color 444444
tide_aws_color FF9900
tide_bun_bg_color 14151A
tide_bun_color FBF0DF
tide_character_color $_tide_color_green
tide_character_color_failure FF0000
tide_cmd_duration_bg_color 444444
Expand Down Expand Up @@ -77,11 +79,11 @@ tide_pwd_bg_color 444444
tide_pwd_color_anchors $_tide_color_light_blue
tide_pwd_color_dirs $_tide_color_dark_blue
tide_pwd_color_truncated_dirs 8787AF
tide_pwd_markers .bzr .citc .git .hg .node-version .python-version .ruby-version .shorten_folder_marker .svn .terraform Cargo.toml composer.json CVS go.mod package.json build.zig
tide_pwd_markers .bzr .citc .git .hg .node-version .python-version .ruby-version .shorten_folder_marker .svn .terraform bun.lockb Cargo.toml composer.json CVS go.mod package.json build.zig
tide_python_bg_color 444444
tide_python_color 00AFAF
tide_right_prompt_frame_enabled true
tide_right_prompt_items status cmd_duration context jobs direnv node python rustc java php pulumi ruby go gcloud kubectl distrobox toolbox terraform aws nix_shell crystal elixir zig
tide_right_prompt_items status cmd_duration context jobs direnv bun node python rustc java php pulumi ruby go gcloud kubectl distrobox toolbox terraform aws nix_shell crystal elixir zig
tide_right_prompt_prefix 
tide_right_prompt_separator_diff_color 
tide_right_prompt_separator_same_color 
Expand Down
2 changes: 2 additions & 0 deletions functions/tide/configure/configs/classic_16color.fish
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
tide_aws_bg_color black
tide_aws_color yellow
tide_bun_bg_color black
tide_bun_color white
tide_character_color brgreen
tide_character_color_failure brred
tide_cmd_duration_bg_color black
Expand Down
6 changes: 4 additions & 2 deletions functions/tide/configure/configs/lean.fish
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
tide_aws_bg_color normal
tide_aws_color FF9900
tide_bun_bg_color normal
tide_bun_color FBF0DF
tide_character_color $_tide_color_green
tide_character_color_failure FF0000
tide_cmd_duration_bg_color normal
Expand Down Expand Up @@ -77,11 +79,11 @@ tide_pwd_bg_color normal
tide_pwd_color_anchors $_tide_color_light_blue
tide_pwd_color_dirs $_tide_color_dark_blue
tide_pwd_color_truncated_dirs 8787AF
tide_pwd_markers .bzr .citc .git .hg .node-version .python-version .ruby-version .shorten_folder_marker .svn .terraform Cargo.toml composer.json CVS go.mod package.json build.zig
tide_pwd_markers .bzr .citc .git .hg .node-version .python-version .ruby-version .shorten_folder_marker .svn .terraform bun.lockb Cargo.toml composer.json CVS go.mod package.json build.zig
tide_python_bg_color normal
tide_python_color 00AFAF
tide_right_prompt_frame_enabled false
tide_right_prompt_items status cmd_duration context jobs direnv node python rustc java php pulumi ruby go gcloud kubectl distrobox toolbox terraform aws nix_shell crystal elixir zig
tide_right_prompt_items status cmd_duration context jobs direnv bun node python rustc java php pulumi ruby go gcloud kubectl distrobox toolbox terraform aws nix_shell crystal elixir zig
tide_right_prompt_prefix ' '
tide_right_prompt_separator_diff_color ' '
tide_right_prompt_separator_same_color ' '
Expand Down
2 changes: 2 additions & 0 deletions functions/tide/configure/configs/lean_16color.fish
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
tide_aws_bg_color normal
tide_aws_color yellow
tide_bun_bg_color normal
tide_bun_color white
tide_character_color brgreen
tide_character_color_failure brred
tide_cmd_duration_bg_color normal
Expand Down
6 changes: 4 additions & 2 deletions functions/tide/configure/configs/rainbow.fish
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
tide_aws_bg_color FF9900
tide_aws_color 232F3E
tide_bun_bg_color FBF0DF
tide_bun_color 14151A
tide_character_color $_tide_color_green
tide_character_color_failure FF0000
tide_cmd_duration_bg_color C4A000
Expand Down Expand Up @@ -77,11 +79,11 @@ tide_pwd_bg_color 3465A4
tide_pwd_color_anchors E4E4E4
tide_pwd_color_dirs E4E4E4
tide_pwd_color_truncated_dirs BCBCBC
tide_pwd_markers .bzr .citc .git .hg .node-version .python-version .ruby-version .shorten_folder_marker .svn .terraform Cargo.toml composer.json CVS go.mod package.json build.zig
tide_pwd_markers .bzr .citc .git .hg .node-version .python-version .ruby-version .shorten_folder_marker .svn .terraform bun.lockb Cargo.toml composer.json CVS go.mod package.json build.zig
tide_python_bg_color 444444
tide_python_color 00AFAF
tide_right_prompt_frame_enabled true
tide_right_prompt_items status cmd_duration context jobs direnv node python rustc java php pulumi ruby go gcloud kubectl distrobox toolbox terraform aws nix_shell crystal elixir zig
tide_right_prompt_items status cmd_duration context jobs direnv bun node python rustc java php pulumi ruby go gcloud kubectl distrobox toolbox terraform aws nix_shell crystal elixir zig
tide_right_prompt_prefix 
tide_right_prompt_separator_diff_color 
tide_right_prompt_separator_same_color 
Expand Down
2 changes: 2 additions & 0 deletions functions/tide/configure/configs/rainbow_16color.fish
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
tide_aws_bg_color yellow
tide_aws_color brblack
tide_bun_bg_color white
tide_bun_color black
tide_character_color brgreen
tide_character_color_failure brred
tide_cmd_duration_bg_color yellow
Expand Down
1 change: 1 addition & 0 deletions functions/tide/configure/icons.fish
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
tide_aws_icon  # Actual aws glyph is harder to see
tide_bun_icon 󰳓
tide_character_icon ❯
tide_character_vi_icon_default ❮
tide_character_vi_icon_replace ▶
Expand Down
19 changes: 19 additions & 0 deletions tests/_tide_item_bun.test.fish
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# RUN: %fish %s
_tide_parent_dirs

function _bun
_tide_decolor (_tide_item_bun)
end

set -l tmpdir (mktemp -d)
cd $tmpdir

mock bun --version "echo 1.0.24"
set -lx tide_bun_icon 󰳓

_bun # CHECK:

touch bun.lockb
_bun # CHECK: 󰳓 1.0.24

command rm -r $tmpdir

0 comments on commit d220b9d

Please sign in to comment.