{"id":16207523,"url":"https://github.com/matheusamazonas/sublime3_clean","last_synced_at":"2026-01-28T02:06:24.328Z","repository":{"id":82864535,"uuid":"104438279","full_name":"matheusamazonas/sublime3_clean","owner":"matheusamazonas","description":"A Sublime Text 3 package for the programming language Clean","archived":false,"fork":false,"pushed_at":"2025-07-06T19:35:46.000Z","size":104,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-11T20:27:46.107Z","etag":null,"topics":["clean-language","functional-languages","sublime","sublime-text-3","syntax-highlighting"],"latest_commit_sha":null,"homepage":"","language":"Clean","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/matheusamazonas.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":"2017-09-22T06:12:41.000Z","updated_at":"2025-07-06T08:00:40.000Z","dependencies_parsed_at":"2023-03-02T04:46:12.928Z","dependency_job_id":null,"html_url":"https://github.com/matheusamazonas/sublime3_clean","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/matheusamazonas/sublime3_clean","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheusamazonas%2Fsublime3_clean","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheusamazonas%2Fsublime3_clean/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheusamazonas%2Fsublime3_clean/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheusamazonas%2Fsublime3_clean/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matheusamazonas","download_url":"https://codeload.github.com/matheusamazonas/sublime3_clean/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheusamazonas%2Fsublime3_clean/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28833502,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T23:29:49.665Z","status":"online","status_checked_at":"2026-01-28T02:00:06.943Z","response_time":57,"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":["clean-language","functional-languages","sublime","sublime-text-3","syntax-highlighting"],"created_at":"2024-10-10T10:13:47.865Z","updated_at":"2026-01-28T02:06:24.323Z","avatar_url":"https://github.com/matheusamazonas.png","language":"Clean","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sublime Text 3 Package for Clean\nA [Sublime Text 3](https://www.sublimetext.com) package for the functional programming language [Clean](http://clean.cs.ru.nl/Clean).\n\nI decided to restart the package from scratch instead of just adapting the Haskell one. So far, the build system and the syntax are mostly done and currently I'm working on tests, snippets and improving the syntax. The plugin is still under development, but on a slow pace.\n\nFuture plans (way down the road) include Cloogle integration.\n\n\nFeatures\n-------------\n* Clean syntax highlighting\n* Build system using CPM, CLM \n\nInstallation\n-------------\n#### Automated\n* macOS: simply run `install.sh`.\n* Windows and Linux: no automated installation yet. Check manual installation.\n\n#### Manual\nIf the installation script fails, you can still install the package manually. Compress the `Clean` folder to a `zip` file, change its extension to \".sublime-package\" and copy it. Navigate to the sublime data path (OS dependent, see below) and paste it in `\u003cdata_path\u003e/Installed Packages`\n\nData paths:\n* macOS: `~/Library/Application Support/Sublime Text`\n* Windows: `%APPDATA%\\Sublime Text`\n* Linux: `~/.config/sublime-text/`\n\nFinally, restart Sublime and all the package features should be enabled.\n\nDevelopment\n-------------\nIf you're planning to contribute to this package (or simply modify it for fun), it's strongly advised to use an alternative to the installation procedure. The installation procedure described in the previous section compresses the `Clean` folder and copies it to Sublime's data path. Although this might work for a user, a developer might find out that it brings a problem: syntax tests won't run. \n\nDue to SublimeText's limitations, a syntax test will only run on files that live inside Sublime's `Package` folder, otherwise it will throw the given error: \"The current file can not be used for testing since it is not loaded by Sublime Text. This is usually caused by a file not located in, or symlinked to, the Packages folder.\"\n\nTo overcome this problem, one can simply navigate to `\u003cdata_path\u003e/Packages` and create a symbolic link to the repo's `Clean` folder. For example, on macOS:\n\n```shell session\nln -s \u003crepo_path\u003e \u003cdata_path\u003e/Packages/Clean\n```\n\nThis way, every time you edit a file on your repo, you'll be editing the exact same file Sublime is loading. This enables running syntax tests directly on your repo files.\n\nBuild Tool\n-------------\nThe plugin provides a Sublime build tool for Clean projects and standalone files. Even though it's handy to have an integrated build system, it has some limitations and shouldn't be user some circumstances, including:\n* When any type of console I/O is performed\n* When using a webserver, i.e. `iTasks`\n* When interrupting execution is needed (the window will close but the process will remain alive and running)\n\nThis is due to Sublime Text limitations. Other (official) plugins suffer from the same problem (check the Python build tool, for instance).\n\nTo build a file/project, press ⌘+B (Ctrl+B on Windows and Linux). The build system will do the following, in order:\n* Look for a Clean project file (.prj) that matches the name of the currently opened file and use CPM to build the project using it. If such project file doesn't exist:\n* Look for any Clean project file in the same directory and use CPM to build the project. If there is no Clean project file in the current directory:\n* Use CLM to build the current file in standalone mode\n\nWhen any of the options above succeeds, the build system will run the newly created executable without command line arguments. \n\nAs stated before, the build system might be really handy for small projects, testing and standalone files. For a more fine-grained, flexible experience, use the terminal.\n\nSyntax Highlighting\n-------------\nThe plugin will turn Clean syntax highlighting on automatically for files with .icl and .dcl extensions. If for some reason you wish to use Clean syntax highlighting on files with different extensions, just navigate to `View\u003eSyntax\u003eClean`. The syntax highlight is a work in progress and might contain a few bugs. Please open a new issue if you find one, preferably with some code example so we can easily reproduce the bug.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatheusamazonas%2Fsublime3_clean","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatheusamazonas%2Fsublime3_clean","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatheusamazonas%2Fsublime3_clean/lists"}