{"id":16099282,"url":"https://github.com/kagof/vscode-befunge","last_synced_at":"2025-04-23T02:21:58.610Z","repository":{"id":28400693,"uuid":"118294530","full_name":"kagof/VSCode-Befunge","owner":"kagof","description":"Extension for VS Code providing Befunge-93 and Befunge-98 support","archived":false,"fork":false,"pushed_at":"2022-01-16T15:15:21.000Z","size":366,"stargazers_count":3,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T21:11:17.866Z","etag":null,"topics":["befunge","befunge-93","befunge-98","befunge93","funge","funge-98","visual-studio-code","visual-studio-code-extension","vs-code","vs-code-extenstion","vscode","vscode-extension","vscode-theme"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/kagof.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-21T01:17:47.000Z","updated_at":"2022-08-26T06:12:40.000Z","dependencies_parsed_at":"2022-07-27T14:19:57.121Z","dependency_job_id":null,"html_url":"https://github.com/kagof/VSCode-Befunge","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kagof%2FVSCode-Befunge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kagof%2FVSCode-Befunge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kagof%2FVSCode-Befunge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kagof%2FVSCode-Befunge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kagof","download_url":"https://codeload.github.com/kagof/VSCode-Befunge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250354905,"owners_count":21416806,"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":["befunge","befunge-93","befunge-98","befunge93","funge","funge-98","visual-studio-code","visual-studio-code-extension","vs-code","vs-code-extenstion","vscode","vscode-extension","vscode-theme"],"created_at":"2024-10-09T18:26:39.245Z","updated_at":"2025-04-23T02:21:58.585Z","avatar_url":"https://github.com/kagof.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Befunge Support in VS Code\n\n[![Version](https://vsmarketplacebadge.apphb.com/version/kagof.befunge.svg)](https://marketplace.visualstudio.com/items?itemName=kagof.befunge)\n[![Installs](https://vsmarketplacebadge.apphb.com/installs/kagof.befunge.svg)](https://marketplace.visualstudio.com/items?itemName=kagof.befunge)\n[![Build Status](https://img.shields.io/travis/kagof/VSCode-Befunge.svg)](https://travis-ci.org/kagof/VSCode-Befunge)\n[![Known Vulnerabilities](https://snyk.io/test/github/kagof/vscode-befunge/badge.svg?targetFile=package.json)](https://snyk.io/test/github/kagof/vscode-befunge?targetFile=package.json)\n\n## Not Maintained\n\nNote that this plugin is no longer maintained. Pull requests will gladly be accepted to update it to conform with new VS Code standards \u0026 remove vulnerabilities.\n\n## Features\n\n* Implements Syntax Highlighting in VS Code for [Befunge-93](https://esolangs.org/wiki/Befunge) and [Befunge-98](https://esolangs.org/wiki/Funge-98) programming languages.\n\n* Adds alignment guides coming from the directional characters (`\u003e`, `v`, `\u003c`, `^`, `?`).\n\nAssociates `.bf`, `.befunge`, and `.b93` files with Befunge-93, and `.b98` files with Befunge-98.\n\n## Screenshots\n\n![FizzBuzz Example](https://raw.githubusercontent.com/kagof/VSCode-Befunge/master/assets/screenshots/screenshot-fizzbuzz.png)\n\n![Factorial Example](https://raw.githubusercontent.com/kagof/VSCode-Befunge/master/assets/screenshots/screenshot-factorial.png)\n\n## Installation\n\n1. Open VS Code, select the extensions icon (Windows: `ctrl` + `shift` + `X`, Mac: `cmd` + `shift` + `X`) and search for `befunge`. Or maybe you are already here in VS Code. Nice!\n2. Click `install`\n3. Restart or reload VS Code when prompted\n4. Add `\"befunge.guides.enable\": true\"` to your Workspace or User Settings if you want to enable Befunge alignment guides.\n    * note: it is recommended that you also add `\"editor.renderIndentGuides\": false` to your workspace settings if you enable this\n5. (Optional) add the custom theming described in [Extension Settings](#extension-settings)\n\n## Extension Settings\n\nAdds the following new configuration settings:\n\n| Name | Default (Type) | Description |\n|------|----------------|-------------|\n|`\"befunge.guides.enabled\"`|`true` (boolean)|Enable the Befunge guides coming from arrow characters.|\n|`\"befunge.guides.wrap\"`|`false` (boolean)|Enable the Befunge guides coming from arrow characters to wrap to the other side when the edge of the code torus is hit.|\n|`\"befunge.guides.color.dark\"`|`\"#3c3c3c\"` (*#rrggbb* hex string)|The Befunge guide line color to use for a dark theme.|\n|`\"befunge.guides.color.light\"`|`\"#dcdcdc\"` (*#rrggbb* hex string)|The Befunge guide line color to use for a light theme.|\n\nTo get the colors shown in the [screenshots](#screenshots), some changes to your User Settings are necessary:\n\n1. Open your user settings (Windows: `ctrl` + `,` Mac: `cmd` + `,`)\n2. Add the following json to your User Settings (or Workspace Settings to only enable it on your current workspace):\n\n``` javascript\n    // custom colors\n    \"editor.tokenColorCustomizations\": {\n        \"textMateRules\": [\n\n            // Befunge directional character styles\n            {\n                // bf93: v^\u003e\u003c\n                // bf98: v^\u003c\u003ex\n                \"scope\": \"keyword.control.direction.absolute.befunge\",\n                    \"settings\": {\n                        \"fontStyle\": \"bold\",\n                        \"foreground\": \"#f0bf00\"\n                    }\n            },\n            {\n                // bf9*: ?\n                \"scope\": \"keyword.control.direction.random.befunge\",\n                    \"settings\": {\n                        \"fontStyle\": \"bold\",\n                        \"foreground\": \"#f0bf00\"\n                    }\n            },\n            {\n                // bf98: []\n                \"scope\": \"keyword.control.direction.rotate.befunge\",\n                    \"settings\": {\n                        \"fontStyle\": \"bold\",\n                        \"foreground\": \"#f0bf00\"\n                    }\n            },\n            {\n                // bf98: r\n                \"scope\": \"keyword.control.direction.reflect.befunge\",\n                    \"settings\": {\n                        \"fontStyle\": \"bold\",\n                        \"foreground\": \"#f0bf00\"\n                    }\n            },\n            {\n                // bf93: |_\n                // bf98: |_w\n                \"scope\": \"keyword.control.direction.conditional.befunge\",\n                    \"settings\": {\n                        \"fontStyle\": \"bold\",\n                        \"foreground\": \"#f0bf00\"\n                    }\n            },\n            {\n                // bf98: hlm\n                \"scope\": \"keyword.control.direction.3d.befunge\",\n                    \"settings\": {\n                        \"fontStyle\": \"bold\",\n                        \"foreground\": \"#f0bf00\"\n                    }\n            },\n            // befunge end character styles\n            {\n                // bf93: @\n                // bf98: @q\n                \"scope\": \"keyword.control.end.befunge\",\n                    \"settings\": {\n                        \"fontStyle\": \"bold\",\n                        \"foreground\": \"#ff0000\"\n                    }\n            },\n            // befunge stack manipulation character styles\n            {\n                // bf93: :\\$\n                // bf98: :\\$n{}u\n                \"scope\": \"keyword.operator.stack.befunge\",\n                    \"settings\": {\n                        \"foreground\": \"#b405ff\"\n                    }\n            },\n            // befunge I/O operators\n            {\n                // bf9*: \u0026~\n                \"scope\": \"keyword.operator.io.input.befunge\",\n                    \"settings\": {\n                        \"foreground\": \"#128024\"\n                    }\n            },\n            {\n                // bf9*: .,\n                \"scope\": \"keyword.operator.io.output.befunge\",\n                    \"settings\": {\n                        \"foreground\": \"#128024\"\n                    }\n            },\n            {\n                // bf98: io\n                \"scope\": \"keyword.operator.io.file.befunge\",\n                    \"settings\": {\n                        \"foreground\": \"#128024\"\n                    }\n            },\n            {\n                // bf93: pg\n                // bf98: pgs\n                \"scope\": \"keyword.operator.io.code.befunge\",\n                    \"settings\": {\n                        \"foreground\": \"#128024\"\n                    }\n            },\n        ]\n    }\n```\n\nAs VS Code [does not (yet?) allow themes to be set on a per language basis](https://github.com/Microsoft/vscode/issues/20652), this adds to your *global* theme. However, all scopes used in this blurb end in `.befunge`, ie, this should not affect your theme anywhere except on Befunge files.\n\nOf course, feel free to modify this to your liking, and look at the scopes contained in the `*.tmLanguage.json` files to see what other Befunge scopes you can customize the theme for.\n\n## Known Issues\n\n* The vertical alignment guides are not centered. I'm sure there must be a way to do this, but if so I haven't been able to think of it!\n\nFind an issue/bug? [Report it](https://github.com/kagof/VSCode-Befunge-syntax-highlighting/issues/new)!\n\n## Contributing\n\nContributions are encouraged - whether pull requests, bug reports, documentation, or feature requests. Please read, understand, and agree to the [Contributing Guidelines](CONTRIBUTING.md) \u0026 [Code of Conduct](CODE_OF_CONDUCT.md) first.\n\n## Source\n\n[Github Repository](https://github.com/kagof/VSCode-Befunge)\n\n## Release Notes\n\nSee also the [changelog](CHANGELOG.md).\n\n### 1.2.4\n\n* multiple dependency updates.\n\n### 1.2.3\n\n* Update npm dependencies, addressing several npm vulnerability alerts.\n\n### 1.2.2\n\n* Update npm dependencies addressing (another) low priority npm vulnerability alert.\n\n### 1.2.1\n\n* Update npm dependencies, addressing Github notification of a dependency vulnerability\n\n### 1.2.0\n\n* Restrict colors to 6 digit hex colors as other formats can cause problems, especially with the horizontal lines\n* Purge decorations of the old style when color configuration changes, as otherwise it would persist until editor is closed\n* Renamed `\"befunge.guides.enable\"` configuration property to `\"befunge.guides.enabled\"` to match README and code\n* Set some default editor configurations for Befunge-93 and 98 files, including turning off indent guides, line highlight, trailing whitespace trimming, autoindent, and quick suggestions\n* Because indent guides are now disabled by default, `\"befunge.guides.enabled\"` now defaults to `true`\n\n### 1.1.0\n\n* Support for alignment guides for the directional characters\n\n### 1.0.0\n\n* Initial release with support for Befunge-93 and Befunge-98\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkagof%2Fvscode-befunge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkagof%2Fvscode-befunge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkagof%2Fvscode-befunge/lists"}