{"id":15059522,"url":"https://github.com/mbuscemi/elm-lens","last_synced_at":"2025-04-10T05:31:12.089Z","repository":{"id":67343386,"uuid":"111246726","full_name":"mbuscemi/elm-lens","owner":"mbuscemi","description":"Elm code visualizations for maximum productivity in Atom","archived":false,"fork":false,"pushed_at":"2018-01-14T01:01:31.000Z","size":5976,"stargazers_count":51,"open_issues_count":9,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-24T06:51:32.047Z","etag":null,"topics":["atom-package","elm","elm-lang","elm-language","productivity","tools"],"latest_commit_sha":null,"homepage":"https://atom.io/packages/elm-lens","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mbuscemi.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":"2017-11-18T23:06:47.000Z","updated_at":"2023-11-16T22:46:09.000Z","dependencies_parsed_at":"2023-07-05T01:01:46.849Z","dependency_job_id":null,"html_url":"https://github.com/mbuscemi/elm-lens","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbuscemi%2Felm-lens","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbuscemi%2Felm-lens/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbuscemi%2Felm-lens/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbuscemi%2Felm-lens/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mbuscemi","download_url":"https://codeload.github.com/mbuscemi/elm-lens/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248162977,"owners_count":21057848,"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":["atom-package","elm","elm-lang","elm-language","productivity","tools"],"created_at":"2024-09-24T22:44:56.741Z","updated_at":"2025-04-10T05:31:12.026Z","avatar_url":"https://github.com/mbuscemi.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Elm Lens\n[![Build Status](https://travis-ci.org/mbuscemi/elm-lens.svg?branch=master)](https://travis-ci.org/mbuscemi/elm-lens)\n\nElm code visualizations for maximum productivity\n\n![Elm Lens](https://raw.githubusercontent.com/mbuscemi/elm-lens/master/images/example.gif?raw=true)\n\n## Setup\n\n1. Install `elm-lens` in Atom.\n    1. In Atom, go to Atom → Preferences...\n    2. Click \"Install\".\n    3. Search for \"elm-lens\".\n    4. Find \"elm-lens\" in the list and click the \"install\" button.\n\n## Feature Overview\n\n### The Basics\n\nElm Lens add contextual markup to all functions, types, and and type aliases in all Elm files in your project.\n\nExposed expressions are marked up as **exposed**, while non-exposed expressions are marked up as **local**. Reference\ncounts are also displayed.\n\nElm Lens runs parallel background processes in order to gather its data, so you aren't blocked from working on your project\nwhile Elm Lens does its work.\n\n### The Reference Panel\n\n![The Reference Panel](https://raw.githubusercontent.com/mbuscemi/elm-lens/master/images/reference-panel.png?raw=true)\n\nClicking on the \"n internal references\" or \"n external references\" markup for a function will display a detailed list of all\nassociated references in the reference panel. You can then click on a reference in the reference panel to navigate to the\ndocument and location of that reference.\n\nClicking the same markup element a second time will close the reference panel. (Of course, the reference panel can also be\nclosed with the standard Atom interface elements.)\n\n### Unused Local Functions\n\n![Unused Exposed Function Warning](https://raw.githubusercontent.com/mbuscemi/elm-lens/master/images/local-no-references-warning.png?raw=true)\n\nIf a local function does not have any references in its file, Elm Lens highlights the internal references field\nbright red and displays a warning icon. You can clear the warning by using the function, or by simply deleting it.\n\n### Unused Exposed Functions\n\n![Unused Exposed Function Warning](https://raw.githubusercontent.com/mbuscemi/elm-lens/master/images/exposed-no-references-warning.png?raw=true)\n\nIf an exposed function has no references in any Elm file in the current active project, Elm Lens turns the\nexternal references field red and displays a warning icon. You can clear the warning by removing the function from the\nmodule's `exposing` declaration, by referencing it in another module, or by deleting it.\n\n### Platform.Program\n\n![Program Function Meta Tag](https://raw.githubusercontent.com/mbuscemi/elm-lens/master/images/program-function-tag.png?raw=true)\n\nElm applications following 'The Elm Architecture' will, by definition, contain one exposed function that is not referenced\nby another module in the system. That function is usually called `main` and its signature will be `Program flags model message`.\nAny function whose signature begins with `Program` will be marked by Elm Lens as an \"Elm Application Entry Point\" and no\nreference data will be shown.\n\n### Elm Tests\n\n![Elm Test](https://raw.githubusercontent.com/mbuscemi/elm-lens/master/images/elm-test.png?raw=true)\n\nTests written for use with [Elm Test](https://github.com/elm-community/elm-test) will also be exposed and\nunreferenced in other modules. Such functions are typically executed by a command line utility like\n[Node Test Runner](https://github.com/rtfeldman/node-test-runner), or in Atom with\n[Elm Test Runner](https://github.com/mbuscemi/elm-test-runner). Elm Lens will hide reference information and show a special\ntag for any function with a type signature of `Test`.\n\n### Configuration\n\n![Elm Test](https://raw.githubusercontent.com/mbuscemi/elm-lens/master/images/elm-lens-settings.png?raw=true)\n\n#### Markup Toggles\n\nYou can toggle each of the three pieces of data in Elm Lens's markup on and off. These are: access control, internal references, and external references.\nIf you want to quickly toggle all markup on and off, use Ctrl-L, or select \"Toggle Markup Display\" from the \"Packages → Elm Lens\" menu.\n\n#### Markup Opacity\n\nIf you prefer the markup text to be a lower opacity than the rest of your code, you can configure the opacity field with a different number.\nOne hundred, the default, is full opacity, while zero is completely invisible. Any integer in between those two values is acceptable.\n\n## Roadmap\n\n* 0.8 Editor Dependency Abstraction\n* 0.7 Exposed/Local Upgrades\n  * Clicking on \"exposed/local\" toggles the function between being exposed and local.\n  * Add a menu option \"Auto-Adjust Exports...\" which updates all exposings to correspond to whether or not the function is used externally.\n* 0.6 Differentiate Test References\n* 0.5 Support Type Constructors\n* 0.4 Handle Zero-Reference Exposed Functions in `exposed-modules`\n  * Functions that are exposed and unreferenced in modules listed in `exposed-modules` should be handled differently.\n* ~0.3 Configurability Upgrade~\n  * ~Will be able to toggle off parts of the metadata or entire metadata via command keys and plugin options.~\n  * ~Will be able to configure markup text opacity.~\n* ~0.2 Visualization of References~\n* ~0.1 Initial Release~\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbuscemi%2Felm-lens","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmbuscemi%2Felm-lens","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbuscemi%2Felm-lens/lists"}