{"id":13528787,"url":"https://github.com/nickeb96/puffer-fish","last_synced_at":"2025-04-01T14:33:05.241Z","repository":{"id":44436278,"uuid":"188087066","full_name":"nickeb96/puffer-fish","owner":"nickeb96","description":"🐡 Text Expansions for Fish","archived":false,"fork":false,"pushed_at":"2024-03-19T01:03:05.000Z","size":94,"stargazers_count":277,"open_issues_count":1,"forks_count":5,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-11-02T15:36:21.521Z","etag":null,"topics":["fish","fish-plugin","fisher","shell-extension"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nickeb96.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-22T17:46:46.000Z","updated_at":"2024-10-31T13:34:39.000Z","dependencies_parsed_at":"2024-01-03T04:10:12.381Z","dependency_job_id":"aea8f54e-2731-4106-a5f4-b0d68d158297","html_url":"https://github.com/nickeb96/puffer-fish","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickeb96%2Fpuffer-fish","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickeb96%2Fpuffer-fish/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickeb96%2Fpuffer-fish/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickeb96%2Fpuffer-fish/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nickeb96","download_url":"https://codeload.github.com/nickeb96/puffer-fish/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246655259,"owners_count":20812608,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fish","fish-plugin","fisher","shell-extension"],"created_at":"2024-08-01T07:00:24.673Z","updated_at":"2025-04-01T14:33:02.390Z","avatar_url":"https://github.com/nickeb96.png","language":"Shell","funding_links":[],"categories":["Plugins","Shell","shell","Terminal"],"sub_categories":["work like bash","Shell"],"readme":"# Puffer Fish\n\n\u003e Text Expansions for [Fish](https://fishshell.com/)\n\nTyping consecutive dots after `..` will automatically expand to `../..`, then `../../..` and so on.  It expands in place as you type to allow directory tab-completion to work.  This can be useful with any command where you want to reference a parent directory that is more than one back.  i.e. `cd ....` or `vi .../Cargo.toml`.\n\n![dot dot demo](./media/dot-dot-demo.gif)\n\nIt's a little hard to see in the demo because it expands as you type, but `cp ..../template/Makefile .` is being typed.\n\n--------------------------------------------------------------------------------\n\nTyping `!!` will expand to the previous command, similar to Zsh, Bash, and other shells.  For example, if you type `apt update` you will likely see a permisison error.  You can then type `sudo !!` and it will expand to `sudo apt update`.\n\n![exclamation demo](./media/exclamation-demo.gif)\n\nThis can be especially useful if you don't want to retype a long command, or navigate around with the arrow keys.  Or if you want to re-run a command as part of pipeline.\n\n```console\n\u003e some-long-command -abcdef --long-option --another-long-option /a/long/path/to/somewhere\n...\n\u003e cat file1 file2 | !! | grep 'search-key' | wrap -s\n...\n```\n\n--------------------------------------------------------------------------------\n\nTyping `!$` will expand to the last argument.  For example, if you searched packages with pacman and found nothing, you'd like to also search in the AUR.\n\n```console\n\u003e pacman -Ss something\n...\n\u003e paru -Ss !$\n...\n```\n\n## Installation\n\nInstall with [Fisher](https://github.com/jorgebucaran/fisher \"fish plugin manager\"):\n\n```console\nfisher install nickeb96/puffer-fish\n```\n\n#### Manually\n\nJust copy `functions/*` and `conf.d/*` to your `$__fish_config_dir` directory. Make sure to create them if they don't already exist.\n\n## LICENSE\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnickeb96%2Fpuffer-fish","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnickeb96%2Fpuffer-fish","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnickeb96%2Fpuffer-fish/lists"}