{"id":20732099,"url":"https://github.com/nverno/cmd-mode","last_synced_at":"2025-07-04T03:06:25.890Z","repository":{"id":73466257,"uuid":"59975935","full_name":"nverno/cmd-mode","owner":"nverno","description":"Extended major mode for editing batch/windows dos scripts with indentation, completion-at-point, extended syntax, functions, etc.","archived":false,"fork":false,"pushed_at":"2019-04-30T01:23:33.000Z","size":114,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-23T22:07:08.687Z","etag":null,"topics":["bat","batch","cmd","dos","emacs","windows"],"latest_commit_sha":null,"homepage":null,"language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nverno.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2016-05-30T02:49:34.000Z","updated_at":"2019-05-24T21:00:31.000Z","dependencies_parsed_at":"2023-04-18T07:30:59.343Z","dependency_job_id":null,"html_url":"https://github.com/nverno/cmd-mode","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nverno/cmd-mode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nverno%2Fcmd-mode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nverno%2Fcmd-mode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nverno%2Fcmd-mode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nverno%2Fcmd-mode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nverno","download_url":"https://codeload.github.com/nverno/cmd-mode/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nverno%2Fcmd-mode/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263437342,"owners_count":23466367,"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":["bat","batch","cmd","dos","emacs","windows"],"created_at":"2024-11-17T05:17:39.667Z","updated_at":"2025-07-04T03:06:25.866Z","avatar_url":"https://github.com/nverno.png","language":"Emacs Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cmd-mode - Major mode for editing DOS/Windows scripts\n\n*Version:* 1\u003cbr\u003e\n*URL:* [http://github.com/nverno/cmd-mode](http://github.com/nverno/cmd-mode)\u003cbr\u003e\n\nExtension of `bat-mode`, a major mode for editing DOS/Windows scripts\n(batch files).  This verison is extended to provide indentation,\ncompletion at point functions, extra syntax, user functions,\nbasic interactive shell.\n\nSee [company-cmd](http://github.com/nverno/company-cmd)\nfor company autocompletion/quickhelp support.\n\n## Features include\n\n* Syntax highlighting\n* Indentation: using smie\n* Completion: completion-at-point for local/environment variables\n* Access DOS help pages\n* imenu/outline navigation\n* Compilation support / running scripts\n* Interactive shell modeled after sh-script.el, but needs work to be useful\n  at this point: newlines need to be stripped and %% converted to %.\n\n## The syntax groups for highlighting are\n\n    ;; Face\t\t\t\t\tExample\n    ;;\n    ;;  cmd-label-face\t\t\t\t:LABEL\n    ;;  cmd-escaped-newline-face\t    ^\n    ;;  font-lock-comment-face\t\trem\n    ;;  font-lock-builtin-face\t\tcopy\n    ;;  font-lock-keyword-face\t\tgoto\n    ;;  font-lock-warning-face\t\tcp\n    ;;  font-lock-constant-face\t\t[call] prog\n    ;;  font-lock-variable-name-face\t%var%\n    ;;  font-lock-type-face\t\t\t-option\n\n### Usage\n\nJust needs to be on the `load-path` and either explicitly required, or\n`cmd-mode` needs to be autoloaded.  In the init file, to use this mode\ninstead of builtin `bat-mode`:\n\n```lisp\n(defalias 'bat-mode 'cmd-mode)\n```\n\nSee documentation of function `cmd-mode`.\n\n### Acknowledgements\n\nExtension of base bat-mode.el to include indentation, completion,\nmodified syntax and font-locking, some extra user functions and basic\ninterface for interactive shell.  Mostly modeled after sh-script.el\n\nExample using `company-cmd` with `company-capf` (completion-at-point),\nie:\n\n```lisp\n'(company-capf :with company-cmd)\n```\nas company-backend and `company-quickhelp` for dropdown help.\n\n![example](ex/test-cmd.png)\n\n\n---\nConverted from `cmd-mode.el` by [*el2markdown*](https://github.com/Lindydancer/el2markdown).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnverno%2Fcmd-mode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnverno%2Fcmd-mode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnverno%2Fcmd-mode/lists"}