{"id":31730131,"url":"https://github.com/kronos3/vscode-fpp","last_synced_at":"2025-10-09T07:24:52.662Z","repository":{"id":174203151,"uuid":"651532350","full_name":"Kronos3/vscode-fpp","owner":"Kronos3","description":"Moved to https://github.com/fprime-community/vscode-fpp","archived":false,"fork":false,"pushed_at":"2024-01-11T02:42:46.000Z","size":650,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-03-15T16:03:02.555Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=jet-propulsion-laboratory.fpp","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kronos3.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-06-09T12:55:50.000Z","updated_at":"2024-03-15T16:03:02.556Z","dependencies_parsed_at":"2024-01-11T05:33:01.614Z","dependency_job_id":null,"html_url":"https://github.com/Kronos3/vscode-fpp","commit_stats":null,"previous_names":["kronos3/vscode-fpp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Kronos3/vscode-fpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kronos3%2Fvscode-fpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kronos3%2Fvscode-fpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kronos3%2Fvscode-fpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kronos3%2Fvscode-fpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kronos3","download_url":"https://codeload.github.com/Kronos3/vscode-fpp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kronos3%2Fvscode-fpp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000980,"owners_count":26082973,"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-10-09T02:00:07.460Z","response_time":59,"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":[],"created_at":"2025-10-09T07:24:33.844Z","updated_at":"2025-10-09T07:24:52.651Z","avatar_url":"https://github.com/Kronos3.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fpp\n\nVSCode language support for FPrimePrime modeling language.\n\n## How to\n\nWhen first loading up your FPrime project, you will notice\nmany errors! This is because the compiler doesn't know\nwhere to search for FPP declarations\n\n![Screenshot from 2023-06-20 17-44-17](https://github.com/Kronos3/vscode-fpp/assets/15131751/10abfcb0-a9cd-4410-b68d-d5314c4af756)\n\nYou will need to load the locs files which is generated during build time\nin the cmake build folder. Look for `build/locs.fpp`.\n\nOnce the locs file is loaded, the entire project will be indexed and references\nwill be resolved.\n\nIt's recommended to 'pin' the reload status so that its easier to reload/reindex\nthe project:\n\n![Screenshot from 2023-06-20 17-47-03](https://github.com/Kronos3/vscode-fpp/assets/15131751/74e9f986-09e4-4a1f-be4d-aa40f6cc5562)\n\nThis will add a status bar item that will reindex the locs file when clicked.\n\n### Features\n\n- Syntax highlighting\n- Code completion\n  - Syntax level completion\n  - Semantic specific identifier lookup\n    - When searching for a type, only types will be shown. Same goes for ports, components etc.\n- Syntax Signature Display\n  - This should pop up while you are typing but can be manually triggered, see [VSCode Docs](https://code.visualstudio.com/docs/typescript/typescript-editing#_signature-help)\n  ![Screenshot from 2023-06-20 15-28-08](https://github.com/Kronos3/vscode-fpp/assets/15131751/2826cbc3-80d0-404c-8505-9542ea28d2c2)\n  - Includes descriptions on what each field does\n- Hover information\n  - Shows what references resolved to\n- Go-to Reference (`Ctrl-Click`)\n- Document Links\n  - Used when referencing a file directly in FPP (for example the `instance` `at` specifier).\n\n### Technical Description\n\nThis VSCode extension is essentially a FPP compiler frontend\nwritten in TypeScript using ANTLR4. It injests a 'locs' file\ngenerated during the FPrime build process which will tell the\ncompiler which files to include during its variable/type declaration\nstage.\n\nFiles are parsed and reduced in a separate worker thread and then\nsent through the compilers declaration collection in the main thread.\n\n### Development\n\nTo set up dependencies you will need NodeJS and a package manager like `npm` or `yarn`:\n\n```\n$ yarn install\n```\n\nWhen making a change to the ANTLR definition (`src/grammar/Fpp.g4`), you will need to regenerate\nthe generated files.\n\n```\n$ yarn antlr\n```\n\nTo build a VSIX file you can use:\n```\n$ vsce package\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkronos3%2Fvscode-fpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkronos3%2Fvscode-fpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkronos3%2Fvscode-fpp/lists"}