{"id":24865152,"url":"https://github.com/diku-dk/futhark-mode","last_synced_at":"2025-07-30T09:02:52.229Z","repository":{"id":152135553,"uuid":"136220767","full_name":"diku-dk/futhark-mode","owner":"diku-dk","description":"Emacs major mode for editing Futhark programs","archived":false,"fork":false,"pushed_at":"2025-05-09T21:07:42.000Z","size":169,"stargazers_count":11,"open_issues_count":1,"forks_count":1,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-06-05T00:19:50.294Z","etag":null,"topics":["emacs","futhark"],"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":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/diku-dk.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,"zenodo":null}},"created_at":"2018-06-05T18:49:10.000Z","updated_at":"2025-05-09T21:07:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"a911ea76-175d-46cf-92a4-289459e8bef8","html_url":"https://github.com/diku-dk/futhark-mode","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/diku-dk/futhark-mode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diku-dk%2Ffuthark-mode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diku-dk%2Ffuthark-mode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diku-dk%2Ffuthark-mode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diku-dk%2Ffuthark-mode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/diku-dk","download_url":"https://codeload.github.com/diku-dk/futhark-mode/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diku-dk%2Ffuthark-mode/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267842881,"owners_count":24153131,"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","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["emacs","futhark"],"created_at":"2025-01-31T23:57:56.584Z","updated_at":"2025-07-30T09:02:52.112Z","avatar_url":"https://github.com/diku-dk.png","language":"Emacs Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"# futhark-mode for Emacs\n\n[![MELPA](https://melpa.org/packages/futhark-mode-badge.svg)](https://melpa.org/#/futhark-mode)[![CI](https://github.com/diku-dk/futhark-mode/workflows/CI/badge.svg)](https://github.com/diku-dk/futhark-mode/actions)\n\nSee the file `futhark-mode.el`.  This Emacs mode provides:\n\n  * syntax highlighting\n  * automatic indentation\n  * interaction with an inferior `futhark repl` process\n\nFor IDE-like features, try [Eglot](https://github.com/joaotavora/eglot),\nwhich works well with Futhark's built-in LSP server `futhark lsp`.\n\n## Installation\n\nYou can install this mode with Emacs' package manager.  Enable the\nhttps://melpa.org/ archive, and install the `futhark-mode` package.\n*Alternatively*, add the following lines to your Emacs init file:\n\n    (add-to-list 'load-path \"path/to/futhark-mode\")\n    (require 'futhark-mode)\n\n## Usage\n\nThis mode is pretty straightforward and does not provide a lot of\nbells and whistles.  But it does have some commands:\n\n  * **C-c C-l** (`futhark-load-file`) loads the current file into\n    `futhark repl`, creating a new instance if a current one does not\n    exist.\n\nYou may also want to use the `futhark fmt` integration with commands\nlike `futhark-fmt-buffer`, or whenever you save with\n`futhark-fmt-on-save-mode`. You can enable that automatically on load\nas well:\n\n```elisp\n(add-hook 'futhark-mode-hook 'futhark-fmt-on-save-mode)\n```\n\n## Eglot\n\nYou can start Eglot automatically whenever you edit a Futhark file by\nadding\n\n```elisp\n(add-hook 'futhark-mode-hook 'eglot-ensure)\n```\n\nto your init file.\n\n## Testing (for developers)\n\nRun `tools/test-indentation` to test if the auto-indentation works.  If\nyou find a piece of code that futhark-mode cannot indent properly,\nplease fix it, and put a small example in the `tools/test-corpus`\ndirectory to ensure that it doesn't break in the future.\n\nNote that not all of the indentation examples in `tools/test-corpus` are\nnecessarily *ideal*.  Some of them exemplify behaviour that we would\nlike to fix (but exist as a regression test to avoid even worse\noutcomes).\n\nAdditionally, you can symlink the `tools/git-hooks/pre-commit` hook into\nyour local `.git/hooks` directory to automatically check your changes\nbefore each commit.\n\n## Authors\n\n  + Niels G. W. Serup\n  + Rasmus Wriedt Larsen\n  + Troels Henriksen\n\n## Reloading when hacking on the code\n\nAdd the directory containing the `.el` files to your load path with\n\n    (add-to-list 'load-path \"/.../futhark-mode\")\n    (require 'futhark-dev)\n\nand then enter `M-x RET futhark-dev-reload RET` whenever needed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiku-dk%2Ffuthark-mode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiku-dk%2Ffuthark-mode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiku-dk%2Ffuthark-mode/lists"}