{"id":15062873,"url":"https://github.com/jamescherti/flymake-bashate.el","last_synced_at":"2025-04-10T10:14:37.385Z","repository":{"id":255252966,"uuid":"848987933","full_name":"jamescherti/flymake-bashate.el","owner":"jamescherti","description":" A Flymake backend for bashate: Real-time style checking for Bash shell scripts within Emacs. ","archived":false,"fork":false,"pushed_at":"2025-04-04T16:21:14.000Z","size":90,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-04T17:27:28.813Z","etag":null,"topics":["bashate","emacs","emacs-flymake","emacs-package","flymake","flymake-backend"],"latest_commit_sha":null,"homepage":"https://github.com/jamescherti/flymake-bashate.el","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jamescherti.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":"2024-08-28T19:13:06.000Z","updated_at":"2025-03-31T18:01:53.000Z","dependencies_parsed_at":"2025-04-04T17:24:15.584Z","dependency_job_id":"db60996e-d93c-467b-8715-5c012fc8b3a5","html_url":"https://github.com/jamescherti/flymake-bashate.el","commit_stats":null,"previous_names":["jamescherti/flymake-bashate.el"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamescherti%2Fflymake-bashate.el","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamescherti%2Fflymake-bashate.el/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamescherti%2Fflymake-bashate.el/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamescherti%2Fflymake-bashate.el/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jamescherti","download_url":"https://codeload.github.com/jamescherti/flymake-bashate.el/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248198892,"owners_count":21063628,"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":["bashate","emacs","emacs-flymake","emacs-package","flymake","flymake-backend"],"created_at":"2024-09-24T23:48:05.592Z","updated_at":"2025-04-10T10:14:37.375Z","avatar_url":"https://github.com/jamescherti.png","language":"Emacs Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"# flymake-bashate.el - A Flymake backend for bashate\n![Build Status](https://github.com/jamescherti/flymake-bashate.el/actions/workflows/ci.yml/badge.svg)\n[![MELPA](https://melpa.org/packages/flymake-bashate-badge.svg)](https://melpa.org/#/flymake-bashate)\n[![MELPA Stable](https://stable.melpa.org/packages/flymake-bashate-badge.svg)](https://stable.melpa.org/#/flymake-bashate)\n![License](https://img.shields.io/github/license/jamescherti/flymake-bashate.el)\n![](https://raw.githubusercontent.com/jamescherti/flymake-bashate.el/main/.images/made-for-gnu-emacs.svg)\n\nThe `flymake-bashate` Emacs package provides a Flymake backend for `bashate`, enabling real-time style checking for Bash shell scripts within Emacs.\n\n*(This package can also work with Flycheck: simply use the flymake-flycheck package, which allows any Emacs Flymake backend to function as a Flycheck checker.)*\n\n## Installation\n\nTo install `flymake-bashate` from MELPA:\n\n1. If you haven't already done so, [add MELPA repository to your Emacs configuration](https://melpa.org/#/getting-started).\n\n2. Add the following code to your Emacs init file to install `flymake-bashate` from MELPA:\n```emacs-lisp\n(use-package flymake-bashate\n  :ensure t\n  :commands flymake-bashate-setup\n  :hook (((bash-ts-mode sh-mode) . flymake-bashate-setup)\n         ((bash-ts-mode sh-mode) . flymake-mode))\n  :custom\n  (flymake-bashate-max-line-length 80))\n```\n\n## Customizations\n\n### Ignoring Bashate errors\n\nTo make `bashate` ignore specific Bashate rules, such as E003 (ensure all indents are a multiple of 4 spaces) and E006 (check for lines longer than 79 columns), set the following variable:\n```emacs-lisp\n(setq flymake-bashate-ignore \"E003,E006\")\n```\n\n(This corresponds to the `-i` or `--ignore` option in Bashate.)\n\n### Setting maximum line length\n\nTo define the maximum line length for Bashate to check:\n\n```emacs-lisp\n(setq flymake-bashate-max-line-length 80)\n```\n\n(This corresponds to the `--max-line-length` option in Bashate.)\n\n### Specifying the Bashate executable\n\nTo change the path or filename of the Bashate executable:\n\n```emacs-lisp\n(setq flymake-bashate-executable \"/opt/different-directory/bin/bashate\")\n```\n\n(Defaults to \"bashate\".)\n\n## License\n\nCopyright (C) 2024-2025 [James Cherti](https://www.jamescherti.com)\n\nThis program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along with this program.\n\n## Links\n\n- [flymake-bashate.el @GitHub](https://github.com/jamescherti/flymake-bashate.el)\n- [flymake-bashate.el @MELPA](https://melpa.org/#/flymake-bashate)\n- [Bashate @GitHub](https://github.com/openstack/bashate)\n\nOther Emacs packages by the same author:\n- [minimal-emacs.d](https://github.com/jamescherti/minimal-emacs.d): This repository hosts a minimal Emacs configuration designed to serve as a foundation for your vanilla Emacs setup and provide a solid base for an enhanced Emacs experience.\n- [compile-angel.el](https://github.com/jamescherti/compile-angel.el): **Speed up Emacs!** This package guarantees that all .el files are both byte-compiled and native-compiled, which significantly speeds up Emacs.\n- [outline-indent.el](https://github.com/jamescherti/outline-indent.el): An Emacs package that provides a minor mode that enables code folding and outlining based on indentation levels for various indentation-based text files, such as YAML, Python, and other indented text files.\n- [easysession.el](https://github.com/jamescherti/easysession.el): Easysession is lightweight Emacs session manager that can persist and restore file editing buffers, indirect buffers/clones, Dired buffers, the tab-bar, and the Emacs frames (with or without the Emacs frames size, width, and height).\n- [vim-tab-bar.el](https://github.com/jamescherti/vim-tab-bar.el): Make the Emacs tab-bar Look Like Vim’s Tab Bar.\n- [elispcomp](https://github.com/jamescherti/elispcomp): A command line tool that allows compiling Elisp code directly from the terminal or from a shell script. It facilitates the generation of optimized .elc (byte-compiled) and .eln (native-compiled) files.\n- [tomorrow-night-deepblue-theme.el](https://github.com/jamescherti/tomorrow-night-deepblue-theme.el): The Tomorrow Night Deepblue Emacs theme is a beautiful deep blue variant of the Tomorrow Night theme, which is renowned for its elegant color palette that is pleasing to the eyes. It features a deep blue background color that creates a calming atmosphere. The theme is also a great choice for those who miss the blue themes that were trendy a few years ago.\n- [Ultyas](https://github.com/jamescherti/ultyas/): A command-line tool designed to simplify the process of converting code snippets from UltiSnips to YASnippet format.\n- [flymake-ansible-lint.el](https://github.com/jamescherti/flymake-ansible-lint.el): An Emacs package that offers a Flymake backend for ansible-lint.\n- [inhibit-mouse.el](https://github.com/jamescherti/inhibit-mouse.el): A package that disables mouse input in Emacs, offering a simpler and faster alternative to the disable-mouse package.\n- [quick-sdcv.el](https://github.com/jamescherti/quick-sdcv.el): This package enables Emacs to function as an offline dictionary by using the sdcv command-line tool directly within Emacs.\n- [enhanced-evil-paredit.el](https://github.com/jamescherti/enhanced-evil-paredit.el): An Emacs package that prevents parenthesis imbalance when using *evil-mode* with *paredit*. It intercepts *evil-mode* commands such as delete, change, and paste, blocking their execution if they would break the parenthetical structure.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamescherti%2Fflymake-bashate.el","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamescherti%2Fflymake-bashate.el","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamescherti%2Fflymake-bashate.el/lists"}