{"id":21446931,"url":"https://github.com/wilfison/vscode-haml-all","last_synced_at":"2026-04-09T14:33:58.163Z","repository":{"id":261986909,"uuid":"885906959","full_name":"wilfison/vscode-haml-all","owner":"wilfison","description":"VS Code extension to provides syntax highlighting, linting, go to definition, and snippets for Ruby Haml files.","archived":false,"fork":false,"pushed_at":"2025-06-30T13:50:51.000Z","size":2997,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-06T01:05:17.608Z","etag":null,"topics":["erb","extension","haml","ruby","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=wilfison.haml-all","language":"TypeScript","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/wilfison.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null}},"created_at":"2024-11-09T17:50:30.000Z","updated_at":"2025-06-30T13:50:54.000Z","dependencies_parsed_at":"2024-11-23T22:19:54.026Z","dependency_job_id":"2f047eae-eb63-4366-8237-0278a76663c5","html_url":"https://github.com/wilfison/vscode-haml-all","commit_stats":null,"previous_names":["wilfison/vscode-haml-all"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wilfison/vscode-haml-all","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilfison%2Fvscode-haml-all","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilfison%2Fvscode-haml-all/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilfison%2Fvscode-haml-all/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilfison%2Fvscode-haml-all/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wilfison","download_url":"https://codeload.github.com/wilfison/vscode-haml-all/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilfison%2Fvscode-haml-all/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265887154,"owners_count":23844348,"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":["erb","extension","haml","ruby","vscode","vscode-extension"],"created_at":"2024-11-23T03:08:20.773Z","updated_at":"2026-04-09T14:33:58.157Z","avatar_url":"https://github.com/wilfison.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HAML - All in One\n\nA powerful VS Code extension providing essential tools for efficient and seamless HAML development.\n\n[![VSCode Marketplace](https://img.shields.io/vscode-marketplace/v/wilfison.haml-all.svg?style=flat-square\u0026label=vscode%20marketplace)](https://marketplace.visualstudio.com/items?itemName=wilfison.haml-all) [![Total Installs](https://img.shields.io/vscode-marketplace/d/wilfison.haml-all.svg?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=wilfison.haml-all) [![Average Rating](https://img.shields.io/vscode-marketplace/r/wilfison.haml-all.svg?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=wilfison.haml-all)\n\n![Linting Preview](https://github.com/wilfison/vscode-haml-all/raw/HEAD/images/preview/linter.gif)\n\n## Features\n\nThe following features are supported to make your HAML development effortless:\n\n| Status | Feature                    | Requirement/Infos                                    |\n| ------ | -------------------------- | ---------------------------------------------------- |\n| ✅     | Syntax Highlighting        |                                                      |\n| ✅     | Linter                     | Require `haml_lint` gem                              |\n| ✅     | HAML Formatter             | Requires `haml_lint` and `rubocop` gems              |\n| ✅     | Partial: Go to Definition  |                                                      |\n| ✅     | Partial: Autocompletion    |                                                      |\n| ✅     | Data Attributes Completion | HTML, Rails UJS, Turbo Rails \u0026 Stimulus              |\n| ✅     | Routes: Autocompletion     | Rails Project                                        |\n| ✅     | Routes: Go to Definition   | Rails Project                                        |\n| ✅     | Split to Partial           |                                                      |\n| ✅     | Convert HTML/ERB to HAML   | [`html2haml`](https://github.com/haml/html2haml) gem |\n| ✅     | Snippets - HAML            |                                                      |\n| ✅     | Snippets - Rails           |                                                      |\n| ✅     | Live Preview               | Use `HAML: Open Live Preview` command                |\n| ✅     | Wrap in Conditional        |                                                      |\n| ✅     | I18n Support               | Rails Project                                        |\n\n---\n\n## Linting\n\nThis extension utilizes the `haml-lint` and `rubocop` gems for linting HAML files.\nTo configure, create a `.haml-lint.yml` and `.rubocop` files in your project root. Check the [default configuration](https://github.com/sds/haml-lint/blob/main/config/default.yml).\n\n**To install the gem, add this to your `Gemfile`:**\n\n```ruby\ngroup :development, :test do\n  gem 'rubocop'\n  gem 'haml-lint', require: false\nend\n```\n\n---\n\n## Features in Depth\n\n### Partials - Go to Definition\n\nNavigate to a partial file by using `CTRL + Click` on the partial name or right-click and select `Go to Definition`.\n\n![Go to Definition](https://github.com/wilfison/vscode-haml-all/raw/HEAD/images/preview/go-to-definition.gif)\n\n### Partials - Split to Partial\n\nEasily extract content into a new partial. Select the content, click the `Create a partial from selection` option in the Code Actions menu (lightbulb icon), and you're done!\n\n![Split to Partial](https://github.com/wilfison/vscode-haml-all/raw/HEAD/images/preview/partial-from-selection.gif)\n\n### Wrap in Conditional\n\nQuickly wrap selected HAML content in a conditional statement. Select any content, access the Code Actions menu (lightbulb icon), and choose `Wrap in conditional`. You'll be prompted to enter the condition (e.g., `user.present?`, `@items.any?`, etc.).\n\n**Example:**\nBefore:\n\n```haml\n%div.user-info\n  %h2= @user.name\n  %p= @user.email\n```\n\nAfter wrapping in conditional with `@user.present?`:\n\n```haml\n- if @user.present?\n  %div.user-info\n    %h2= @user.name\n    %p= @user.email\n```\n\n### Partial Completion\n\nAutocomplete for partials based on the `app/views` directory in your project.\n\n![Partial Completion](https://github.com/wilfison/vscode-haml-all/raw/HEAD/images/preview/partial-completion.gif)\n\n### Data Attributes Completion\n\nSmart autocompletion for HTML data attributes, with specific support for:\n\n- **HTML Common Attributes**: `data-toggle`, `data-target`, `data-dismiss`, etc.\n- **Rails UJS**: `data-confirm`, `data-method`, `data-remote`, `data-disable-with`, etc.\n- **Turbo Rails**: `data-turbo`, `data-turbo-action`, `data-turbo-frame`, `data-turbo-stream`, etc.\n- **Stimulus**: `data-controller`, `data-action`, `data-target`, etc.\n\nWorks with all HAML attribute syntaxes:\n\n```haml\n%div{data_confirm: \"Are you sure?\"}\n%form(data_remote: true, data_turbo_action: \"replace\")\n%button{:data_disable_with =\u003e \"Processing...\"}\n```\n\nSimply start typing `data-` in any attribute context and get intelligent suggestions with descriptions.\n\n### Convert HTML/ERB to HAML\n\nConvert existing HTML or ERB files to HAML using `html2haml`.\n\n**Installation:**\n\n```shell\ngem install html2haml\n```\n\n**Usage:**\n\n1. Open an HTML or ERB file.\n2. Open the Command Palette (`CTRL + SHIFT + P`).\n3. Search for `HAML: Convert HTML to HAML` and select it.\n4. Watch the magic happen!\n\n---\n\n## Configuration\n\nYou can customize this extension by creating a `.vscode/settings.json` file in your project root:\n\n```json\n{\n  \"hamlAll.lintEnabled\": true,\n\n  // Use 'bundle exec' to run haml-lint.\n  // (If true, the 'linterExecutablePath' setting is ignored.)\n  \"hamlAll.useBundler\": false,\n\n  // Specify the path to the haml-lint executable.\n  \"hamlAll.linterExecutablePath\": \"haml-lint\",\n\n  // I18n validation settings\n  \"hamlAll.i18nValidation.enabled\": true,\n  \"hamlAll.i18nValidation.defaultLocale\": \"en\"\n}\n```\n\n### I18n Configuration\n\nThe extension provides I18n validation and completion features for Rails projects. You can configure these settings:\n\n- **`hamlAll.i18nValidation.enabled`** (boolean, default: `true`): Enable/disable I18n validation diagnostics. Set to `false` if you have dynamic I18n keys or prefer other validation tools.\n\n- **`hamlAll.i18nValidation.defaultLocale`** (string, default: auto-detect): Set the default locale for I18n operations. If empty, the extension will auto-detect from Rails configuration or use common fallbacks (`en`, `pt`, `pt-BR`, `es`, `fr`).\n\n---\n\n## Recommended Extensions\n\nEnhance your experience with these complementary extensions:\n\n- [One Dark Dracula](https://marketplace.visualstudio.com/items?itemName=wilfison.one-dark-dracula): A vibrant dark theme that pairs beautifully with this extension's syntax highlighting.\n- [Ruby LSP](https://marketplace.visualstudio.com/items?itemName=Shopify.ruby-lsp): Provides robust Ruby language support.\n\n---\n\n## Acknowledgments\n\nSpecial thanks to these extensions for inspiration and functionality:\n\n- [Better HAML](https://github.com/karuna/haml-vscode/) (MIT License)\n- [Rails Open Partial](https://github.com/shanehofstetter/rails-open-partial-vscode) (MIT License)\n- [HAML Lint](https://github.com/aki77/vscode-haml-lint) (MIT License)\n- [Rails Partial](https://github.com/aki77/vscode-rails-partial) (MIT License)\n- [Rails Routes](https://github.com/aki77/vscode-rails-routes) (MIT License)\n\n---\n\n## License\n\nThis extension is released under the [MIT License](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilfison%2Fvscode-haml-all","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwilfison%2Fvscode-haml-all","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilfison%2Fvscode-haml-all/lists"}