Skip to content

Commit 49c90e8

Browse files
committed
bkbasic vscode extention project draft #1
1 parent b37be94 commit 49c90e8

12 files changed

Lines changed: 301 additions & 1 deletion

File tree

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Set default behavior to automatically normalize line endings.
2+
* text=auto

.github/workflows/publish.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Publish to VS Code Marketplace
2+
3+
on:
4+
release:
5+
types: [created]
6+
7+
jobs:
8+
publish:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v4
12+
13+
- name: Setup Node.js
14+
uses: actions/setup-node@v4
15+
with:
16+
node-version: 20
17+
cache: 'npm'
18+
19+
- name: Install dependencies
20+
run: npm ci
21+
22+
- name: Compile
23+
run: npm run compile
24+
25+
- name: Publish to Marketplace
26+
run: npx vsce publish -p ${{ secrets.VSCE_PAT }}
27+
env:
28+
VSCE_PAT: ${{ secrets.VSCE_PAT }}

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node_modules
2+
*.vsix
3+
.env

.vscode/launch.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// A launch configuration that launches the extension inside a new window
2+
// Use IntelliSense to learn about possible attributes.
3+
// Hover to view descriptions of existing attributes.
4+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5+
{
6+
"version": "0.2.0",
7+
"configurations": [
8+
{
9+
"name": "Extension",
10+
"type": "extensionHost",
11+
"request": "launch",
12+
"args": [
13+
"--extensionDevelopmentPath=${workspaceFolder}"
14+
]
15+
}
16+
]
17+
}

.vscodeignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.vscode/**
2+
.vscode-test/**
3+
.gitignore
4+
vsc-extension-quickstart.md

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2026 VDM
3+
Copyright (c) 2026 Ivan "VDM" Kalininskiy
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Vilnius BASIC 86 для VS Code
2+
3+
Подсветка синтаксиса, snippets и удобная работа с **Бейсик Вильнюс 86** (для семейства БК).
4+
5+
## Возможности
6+
7+
- Подсветка синтаксиса (команды, функции, операторы, строковые переменные)
8+
- Базовые snippets (FOR-NEXT, IF-THEN-ELSE, LINE, CIRCLE и др.)
9+
- Поддерживаемые расширения файлов: `.bas`, `.bvk`, `.vil`, `.bk`
10+
11+
## Установка
12+
13+
1. Откройте **Extensions** (`Ctrl+Shift+X`)
14+
2. Найдите **"Vilnius BASIC 86"**
15+
3. Нажмите **Install**
16+
17+
## Для БК-разработчиков
18+
19+
Рекомендуется использовать вместе с расширением bkfocal - **BK FOCAL** и расширением bk-ext-tools - инструментами для сборки/запуска в эмуляторе.
20+
21+
## 📞 Контакты
22+
23+
(с) 2025-2026 by Ivan "VDM" Kalininskiy
24+
- Telegram: [@VanDamM](https://t.me/VanDamM)
25+
- GitHub: [kalininskiy](https://github.com/kalininskiy)

images/bkbasic.png

96.6 KB
Loading

language-configuration.json

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
"comments": {
3+
"lineComment": "REM",
4+
"blockComment": null
5+
},
6+
"brackets": [
7+
["{", "}"],
8+
["[", "]"],
9+
["(", ")"]
10+
],
11+
"autoClosingPairs": [
12+
{ "open": "{", "close": "}" },
13+
{ "open": "[", "close": "]" },
14+
{ "open": "(", "close": ")" },
15+
{ "open": "\"", "close": "\"", "notIn": ["string"] },
16+
{ "open": "'", "close": "'", "notIn": ["string", "comment"] }
17+
],
18+
"surroundingPairs": [
19+
["{", "}"],
20+
["[", "]"],
21+
["(", ")"],
22+
["\"", "\""],
23+
["'", "'"]
24+
],
25+
"folding": {
26+
"markers": {
27+
"start": "^\\s*REM\\s+\\{\\{\\{",
28+
"end": "^\\s*REM\\s+\\}\\}\\}"
29+
}
30+
},
31+
"wordPattern": "\\b[A-Za-z][A-Za-z0-9]*¤?\\b",
32+
"indentationRules": {
33+
"increaseIndentPattern": "^\\s*(FOR|IF|WHILE|DO|SUB|FUNCTION|REM\\s+\\{\\{\\{).*",
34+
"decreaseIndentPattern": "^\\s*(NEXT|ELSE|ENDIF|WEND|LOOP|ENDSUB|ENDFUNCTION|REM\\s+\\}\\}\\}).*"
35+
}
36+
}

package.json

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
{
2+
"name": "bkbasic",
3+
"displayName": "Vilnius BASIC 86",
4+
"description": "BK BASIC VILNIUS 86 syntax highlighting / Подсветка синтаксиса, автодополнение и поддержка Бейсик Вильнюс 86 (для БК-0010-01)",
5+
"version": "0.0.1",
6+
"publisher": "kalininskiy",
7+
"repository": {
8+
"type": "git",
9+
"url": "https://github.com/kalininskiy/bkbasic.git"
10+
},
11+
"license": "MIT",
12+
"engines": {
13+
"vscode": "^1.85.0"
14+
},
15+
"icon": "images/bkbasic.png",
16+
"categories": [
17+
"Programming Languages"
18+
],
19+
"keywords": [
20+
"basic",
21+
"vilnius",
22+
"bk-0010",
23+
"бк",
24+
"бейсик",
25+
"retro",
26+
"вильнюс"
27+
],
28+
"contributes": {
29+
"languages": [{
30+
"id": "bkbasic",
31+
"aliases": [
32+
"Vilnius BASIC 86",
33+
"BASIC-86",
34+
"Vilnius Basic",
35+
"Бейсик",
36+
"Вильнюс 86",
37+
"BK BASIC"
38+
],
39+
"extensions": [".bas",".bkb",".bvk",".vil",".bk"],
40+
"configuration": "./language-configuration.json"
41+
}],
42+
"grammars": [{
43+
"language": "bkbasic",
44+
"scopeName": "source.vilniusbasic",
45+
"path": "./syntaxes/bkbasic.tmLanguage.json"
46+
}],
47+
"snippets": [
48+
{
49+
"language": "bkbasic",
50+
"path": "./snippets/bkbasic.code-snippets"
51+
}
52+
],
53+
"configuration": {
54+
"title": "Vilnius BASIC 86",
55+
"properties": {
56+
"bkbasic.enableSnippets": {
57+
"type": "boolean",
58+
"default": true,
59+
"description": "Включить/выключить snippets для Бейсик Вильнюс 86"
60+
},
61+
"bkbasic.highlightStringVariables": {
62+
"type": "boolean",
63+
"default": true,
64+
"description": "Подсвечивать строковые переменные с символом ¤"
65+
}
66+
}
67+
}
68+
}
69+
}

0 commit comments

Comments
 (0)