Skip to content

Commit 97459e1

Browse files
authored
feat: add new blog post about the ArxLang VS Code extension (#281)
1 parent 0bac99b commit 97459e1

3 files changed

Lines changed: 169 additions & 0 deletions

File tree

1.39 MB
Loading
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
---
2+
title: "ArxLang VS Code Extension: A Closer Look"
3+
slug: "arxlang-vs-code-extension-a-closer-look"
4+
date: 2026-06-09
5+
authors: ["Yogendra Sankhla"]
6+
tags: ["ArxLang", "VS Code", "Extension"]
7+
categories: ["Tools"]
8+
description: "A closer look at the ArxLang VS Code extension, its features, and how it is built."
9+
thumbnail: "/header.png"
10+
template: "blog-post.html"
11+
---
12+
13+
I’ve been keeping an eye on the Arx language for a while now. It’s still
14+
early days for the language, but when I got to know about the new
15+
version of the VS Code extension, I figured I’d actually sit down and
16+
try it properly. So here’s my honest take.
17+
18+
## What is Arx?
19+
20+
Arx is a statically typed language with Python-like indentation, two
21+
spaces, strictly enforced. Tabs will throw an error. It has a more
22+
explicit type system than Python and comes with built-in support for
23+
dataframe, series, and tensor types, making it well-suited for
24+
data-heavy workloads. The language is currently in draft stage, but the
25+
syntax is already coherent and well-structured.
26+
27+
Without the extension, opening `.x` or `.arx` files in VS Code gives you
28+
a plain text experience – means no highlighting, no structure, no
29+
language recognition.
30+
31+
## Installing the Extension
32+
33+
The extension registers both `.x` and `.arx` file extensions. Once
34+
installed, the language shows up as ArxLang in the VS Code status bar,
35+
and syntax highlighting activates immediately.
36+
37+
Standard keywords: `fn`, `class`, `return`, `if`, `while`, etc., are
38+
highlighted as expected. The extension also correctly handles
39+
Arx-specific constructs like `@[public, static, constant]` for access
40+
modifiers and `<T: i32 | f64>` for template parameter blocks, which are
41+
fairly unusual compared to most languages.
42+
43+
## Docstring Highlighting
44+
45+
Arx uses triple-backtick docstrings with a YAML-like format called
46+
Douki:
47+
48+
```` arx
49+
class BaseCounter:
50+
"""
51+
```douki
52+
title: BaseCounter
53+
summary: Stores one inherited seed value for derived counters.
54+
```
55+
"""
56+
````
57+
58+
Keys are rendered in a muted dark gray, values in a lighter gray-blue.
59+
The result is readable without competing visually with the surrounding
60+
code.
61+
62+
## How It’s Built
63+
64+
Rather than hand-writing a TextMate grammar JSON file, which tends to
65+
become large, fragile, and hard to maintain the extension uses a single
66+
source-of-truth manifest at `syntax/arx.syntax.json`. This file defines
67+
the entire Arx lexical grammar: keywords, operators, builtin types, and
68+
structural forms. A build script compiles the actual TextMate grammar
69+
from this manifest automatically, and CI checks that the two are always
70+
in sync.
71+
72+
This approach makes the extension easier to maintain as the language
73+
evolves. Updating the grammar is a matter of editing one file and
74+
regenerating, rather than manually patching a complex grammar file.
75+
76+
## Type and Operator Coverage
77+
78+
The extension covers a broad range of Arx’s type system:
79+
80+
- Integer varieties: `i8` through `i64` (including `int8``int64` and
81+
equivalent expanded aliases for boolean, string, and float categories)
82+
- Float types: `f16` to `f64`
83+
- Primitive types: `bool`, `str`, `char`, `datetime`, `timestamp`,
84+
`date`, `time`
85+
- Data types: `dataframe`, `series`, `tensor`, `list`
86+
87+
Both symbolic operators (`&&`, `||`, `->`, `!=`) and word operators
88+
(`and`, `or`) are supported.
89+
90+
## Current Limitations
91+
92+
The extension is highlighting-only. There is no language server, meaning
93+
no hover documentation, go-to-definition, or autocomplete. Given that
94+
Arx is still in active development, this is a reasonable scope for now.
95+
An LSP would likely follow once the language stabilises.
96+
97+
## Summary
98+
99+
The ArxLang extension provides solid syntax highlighting for a language
100+
still in its early stages. The architecture built around a single
101+
maintainable manifest means it should keep pace with the language as it
102+
evolves. For anyone working with Arx code in VS Code, it’s a
103+
straightforward install that meaningfully improves readability.
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
title: "ArxLang VS Code Extension: A Closer Look"
3+
slug: "arxlang-vs-code-extension-a-closer-look"
4+
date: 2026-06-09
5+
authors: ["Yogendra Sankhla"]
6+
tags: ["ArxLang", "VS Code", "Extension"]
7+
categories: ["Tools"]
8+
description: "A closer look at the ArxLang VS Code extension, its features, and how it is built."
9+
thumbnail: "/header.png"
10+
template: "blog-post.html"
11+
---
12+
13+
I've been keeping an eye on the Arx language for a while now. It's still early days for the language, but when I got to know about the new version of the VS Code extension, I figured I'd actually sit down and try it properly. So here's my honest take.
14+
15+
## What is Arx?
16+
17+
Arx is a statically typed language with Python-like indentation, two spaces, strictly enforced. Tabs will throw an error. It has a more explicit type system than Python and comes with built-in support for dataframe, series, and tensor types, making it well-suited for data-heavy workloads. The language is currently in draft stage, but the syntax is already coherent and well-structured.
18+
19+
Without the extension, opening `.x` or `.arx` files in VS Code gives you a plain text experience – means no highlighting, no structure, no language recognition.
20+
21+
## Installing the Extension
22+
23+
The extension registers both `.x` and `.arx` file extensions. Once installed, the language shows up as ArxLang in the VS Code status bar, and syntax highlighting activates immediately.
24+
25+
Standard keywords: `fn`, `class`, `return`, `if`, `while`, etc., are highlighted as expected. The extension also correctly handles Arx-specific constructs like `@[public, static, constant]` for access modifiers and `<T: i32 | f64>` for template parameter blocks, which are fairly unusual compared to most languages.
26+
27+
## Docstring Highlighting
28+
29+
Arx uses triple-backtick docstrings with a YAML-like format called Douki:
30+
31+
````arx
32+
class BaseCounter:
33+
"""
34+
```douki
35+
title: BaseCounter
36+
summary: Stores one inherited seed value for derived counters.
37+
```
38+
"""
39+
````
40+
41+
Keys are rendered in a muted dark gray, values in a lighter gray-blue. The result is readable without competing visually with the surrounding code.
42+
43+
## How It's Built
44+
45+
Rather than hand-writing a TextMate grammar JSON file, which tends to become large, fragile, and hard to maintain, the extension uses a single source-of-truth manifest at `syntax/arx.syntax.json`. This file defines the entire Arx lexical grammar: keywords, operators, builtin types, and structural forms. A build script compiles the actual TextMate grammar from this manifest automatically, and CI checks that the two are always in sync.
46+
47+
This approach makes the extension easier to maintain as the language evolves. Updating the grammar is a matter of editing one file and regenerating, rather than manually patching a complex grammar file.
48+
49+
## Type and Operator Coverage
50+
51+
The extension covers a broad range of Arx's type system:
52+
53+
* Integer varieties: `i8` through `i64` (including `int8``int64` and equivalent expanded aliases for boolean, string, and float categories)
54+
* Float types: `f16` to `f64`
55+
* Primitive types: `bool`, `str`, `char`, `datetime`, `timestamp`, `date`, `time`
56+
* Data types: `dataframe`, `series`, `tensor`, `list`
57+
58+
Both symbolic operators (`&&`, `||`, `->`, `!=`) and word operators (`and`, `or`) are supported.
59+
60+
## Current Limitations
61+
62+
The extension is highlighting-only. There is no language server, meaning no hover documentation, go-to-definition, or autocomplete. Given that Arx is still in active development, this is a reasonable scope for now. An LSP would likely follow once the language stabilises.
63+
64+
## Summary
65+
66+
The ArxLang extension provides solid syntax highlighting for a language still in its early stages. The architecture built around a single maintainable manifest means it should keep pace with the language as it evolves. For anyone working with Arx code in VS Code, it's a straightforward install that meaningfully improves readability.

0 commit comments

Comments
 (0)