{"id":42596162,"url":"https://github.com/tox-dev/jetbrains-fish","last_synced_at":"2026-02-21T05:01:54.971Z","repository":{"id":335172357,"uuid":"1141302712","full_name":"tox-dev/jetbrains-fish","owner":"tox-dev","description":"A Fish Shell plugin for Jetbrains.","archived":false,"fork":false,"pushed_at":"2026-02-15T07:51:59.000Z","size":290,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-15T12:53:33.684Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tox-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"tidelift":"pypi/tox"}},"created_at":"2026-01-24T16:13:11.000Z","updated_at":"2026-02-15T07:52:03.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/tox-dev/jetbrains-fish","commit_stats":null,"previous_names":["tox-dev/jetbrains-fish"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/tox-dev/jetbrains-fish","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tox-dev%2Fjetbrains-fish","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tox-dev%2Fjetbrains-fish/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tox-dev%2Fjetbrains-fish/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tox-dev%2Fjetbrains-fish/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tox-dev","download_url":"https://codeload.github.com/tox-dev/jetbrains-fish/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tox-dev%2Fjetbrains-fish/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29674372,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T03:11:15.450Z","status":"ssl_error","status_checked_at":"2026-02-21T03:10:34.920Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2026-01-29T00:01:14.872Z","updated_at":"2026-02-21T05:01:54.909Z","avatar_url":"https://github.com/tox-dev.png","language":"Shell","readme":"# Fish Shell Plugin for JetBrains IDEs\n\n[![Build](https://github.com/tox-dev/jetbrains-fish/actions/workflows/check.yaml/badge.svg)](https://github.com/tox-dev/jetbrains-fish/actions/workflows/check.yaml)\n[![Version](https://img.shields.io/jetbrains/plugin/v/29973.svg)](https://plugins.jetbrains.com/plugin/29973-fish-shell)\n[![Downloads](https://img.shields.io/jetbrains/plugin/d/29973.svg)](https://plugins.jetbrains.com/plugin/29973-fish-shell)\n\nThis plugin provides comprehensive language support for [Fish shell](https://fishshell.com/) scripts in JetBrains IDEs.\n\n[![Install Plugin](https://img.shields.io/badge/Install-JetBrains%20Marketplace-000?style=for-the-badge\u0026logo=jetbrains)](https://plugins.jetbrains.com/plugin/29973-fish-shell)\n\n## Features\n\n### Syntax Highlighting\n\nThe plugin provides rich syntax highlighting with customizable colors for all Fish language elements. This includes\nkeywords like `if`, `else`, `for`, `while`, `function`, `switch`, `begin`, and `end`. Variables are highlighted\nincluding indexed access like `$var[index]` and special variables such as `$status`, `$argv`, and `$PATH`. Both single\nand double quoted strings are supported with escape sequence highlighting. Comments, operators (`\u0026\u0026`, `||`, `|`, `\u0026`),\nredirections (`\u003e`, `\u003e\u003e`, `\u003c`, `2\u003e`, `\u0026\u003e`), and command substitution syntax are all properly highlighted.\n\nYou can customize colors via **Settings → Editor → Color Scheme → Fish**.\n\n### Code Intelligence (via fish-lsp)\n\nWhen [fish-lsp](https://github.com/ndonfris/fish-lsp) is installed, the plugin provides advanced code intelligence:\n\n- Context-aware code completion for functions, variables, commands, and arguments.\n- Go to definition for functions and variables with Ctrl+Click.\n- Find all usages of a function or variable across your workspace.\n- Hover documentation for builtins, functions, and variables.\n- Real-time diagnostics for error detection and warnings.\n- Code actions with quick fixes and refactoring suggestions.\n- Safe rename refactoring across files.\n- Code formatting via fish-lsp.\n\nWithout fish-lsp, the plugin still provides basic code completion for keywords and builtins, plus quick documentation\nfor Fish language elements.\n\n### Navigation and Structure\n\nThe structure view displays all functions in the current file for easy navigation. Breadcrumbs show your current\nlocation within nested blocks. Code folding is available for functions and control structures. Brace matching highlights\nmatching parentheses, braces, and brackets.\n\n### Editing Support\n\nYou can toggle comments with `Ctrl+/` or `Cmd+/`. Code formatting is available via fish-lsp when installed. Run\nconfigurations allow you to execute Fish scripts directly from the IDE. A run gutter icon appears next to scripts for\nquick execution. Live templates provide snippets for common Fish constructs like functions, loops, and conditionals.\nColor preview shows inline color swatches for `set_color` commands.\n\n### Code Quality\n\nThe plugin includes inspections that warn about deprecated Fish syntax, including deprecated functions, variables, and\nflags. It also detects unused local variables.\n\n## Installation\n\n### From JetBrains Marketplace\n\nOpen **Settings → Plugins → Marketplace**, search for **Fish Shell**, and click **Install**.\n\n### Manual Installation\n\nDownload the plugin from the [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/com.github.toxdev.fish). Then\nopen **Settings → Plugins → ⚙️ → Install Plugin from Disk...** and select the downloaded file.\n\n## Requirements\n\nThe plugin requires IntelliJ IDEA 2024.3 or later, or any compatible JetBrains IDE.\n\n### fish-lsp (Recommended)\n\nFor full code intelligence features, install [fish-lsp](https://github.com/ndonfris/fish-lsp#installation). The plugin\nwill automatically detect fish-lsp if it's in your PATH, or you can configure the path manually in **Settings → Tools →\nFish Shell**.\n\n### LSP4IJ Plugin (Community Edition)\n\nIf you're using a Community Edition IDE (IntelliJ IDEA Community, PyCharm Community, etc.), you need to install the\n[LSP4IJ plugin](https://plugins.jetbrains.com/plugin/23257-lsp4ij) for LSP support. Ultimate editions have built-in LSP\nsupport.\n\n## File Association\n\nThe plugin automatically recognizes files with the `.fish` extension. It also recognizes files with a Fish shebang such\nas `#!/usr/bin/env fish` or `#!/usr/bin/fish`.\n\n## Configuration\n\n### Color Scheme\n\nYou can customize syntax highlighting colors at **Settings → Editor → Color Scheme → Fish**.\n\n### fish-lsp Settings\n\nConfigure fish-lsp at **Settings → Tools → Fish Shell**. You can specify a custom path to the fish-lsp executable if\nit's not in your PATH, or toggle LSP features on/off.\n\n## Known Limitations\n\nBrace expansion syntax like `echo file.{txt,md}` is lexed as regular words because expansion only occurs at runtime.\nGlob patterns like `ls *.fish` are not specially highlighted since they require runtime evaluation. Command arguments\nare not semantically analyzed because each command has its own unique option syntax.\n\n## Contributing\n\nContributions are welcome. Please feel free to submit issues and pull requests on\n[GitHub](https://github.com/tox-dev/jetbrains-fish).\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","funding_links":["https://tidelift.com/funding/github/pypi/tox"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftox-dev%2Fjetbrains-fish","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftox-dev%2Fjetbrains-fish","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftox-dev%2Fjetbrains-fish/lists"}