{"id":20731993,"url":"https://github.com/nverno/jack-ts-mode","last_synced_at":"2025-09-27T15:31:49.039Z","repository":{"id":206493905,"uuid":"717058261","full_name":"nverno/jack-ts-mode","owner":"nverno","description":"Emacs major-mode for Jack (Nand2Tetris) language","archived":false,"fork":false,"pushed_at":"2023-11-10T16:15:42.000Z","size":208,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-17T05:17:08.228Z","etag":null,"topics":["emacs","jack","nand2tetris","tree-sitter"],"latest_commit_sha":null,"homepage":"","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/nverno.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}},"created_at":"2023-11-10T13:13:23.000Z","updated_at":"2024-05-15T10:16:13.000Z","dependencies_parsed_at":"2023-11-10T15:05:49.005Z","dependency_job_id":"7dbe0990-5bfc-4105-abbf-6038ad800156","html_url":"https://github.com/nverno/jack-ts-mode","commit_stats":null,"previous_names":["nverno/jack-ts-mode"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nverno%2Fjack-ts-mode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nverno%2Fjack-ts-mode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nverno%2Fjack-ts-mode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nverno%2Fjack-ts-mode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nverno","download_url":"https://codeload.github.com/nverno/jack-ts-mode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234447938,"owners_count":18834209,"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":["emacs","jack","nand2tetris","tree-sitter"],"created_at":"2024-11-17T05:17:20.175Z","updated_at":"2025-09-27T15:31:48.698Z","avatar_url":"https://github.com/nverno.png","language":"Emacs Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"## jack-ts-mode - Emacs major mode for Jack language from nand2tetris\n\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\nA major mode for editing Jack programming language files. \n\nThe Jack language  is developed as part of the\n[Nand2Tetris]([nand2tetris.org](https://www.nand2tetris.org/)) coures (available\non Coursera [Nand to Tetris Part II](https://www.coursera.org/learn/nand2tetris2)).\n\nThis mode provides the following features for Jack source buffers:\n\n  - font-locking\n  - indentation\n  - structural navigation with tree-sitter objects\n  - imenu\n  \n![example](doc/jack.png)\n\nFor a major-mode without tree-sitter, see\n[jack-mode](https://github.com/nverno/jack-mode).\n\n## Installation\n\nEmacs 29.1 or above with tree-sitter support is required. \n\nTree-sitter starter guide: https://git.savannah.gnu.org/cgit/emacs.git/tree/admin/notes/tree-sitter/starter-guide?h=emacs-29\n\n### Install tree-sitter parser for Jack\n\n```elisp\n(add-to-list\n 'treesit-language-source-alist\n '(jack \"https://github.com/nverno/tree-sitter-jack\"))\n(treesit-install-language-grammar 'jack)\n```\n\n### Install jack-ts-mode.el from source\n\n- Clone this repository\n- Add the following to your emacs config\n\n```elisp\n(require \"[cloned nverno/jack-ts-mode]/jack-ts-mode.el\")\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnverno%2Fjack-ts-mode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnverno%2Fjack-ts-mode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnverno%2Fjack-ts-mode/lists"}