Skip to main content

pseudocode-i18n-languageserver

Resource Link Purpose
pseudocode-i18n-languageserver — repository gitlab.com/rod2ik/pseudocode-i18n-languageserver Shared Language Server Protocol implementation for Pseudocode editors and IDEs
pseudocode-i18n-languageserver — documentation rod2ik.gitlab.io/pseudocode-i18n-languageserver Installation, features and editor integration
pseudocode-i18n gitlab.com/rod2ik/pseudocode-i18n Parser, formatter, semantic analysis, i18n registry and editor-neutral semantic index
pygments-lexer-pseudocode-i18n gitlab.com/rod2ik/pygments-lexer-pseudocode-i18n Pygments highlighting generated from the same language vocabulary
mkdocs-pseudocode-i18n gitlab.com/rod2ik/mkdocs-pseudocode-i18n MkDocs rendering, MathJax and flowcharts
vscode-pseudocode-i18n gitlab.com/rod2ik/vscode-pseudocode-i18n VS Code integration, execution and live visualization

Current version: 0.9.7. Release history: pseudocode-i18n-languageserver changelog. pseudocode-i18n-languageserver gives .pseudo and .algo files one reusable intelligence layer for open-source editors and educational IDEs. The server speaks the standard Language Server Protocol (LSP) over stdin/stdout and delegates the language itself to pseudocode-i18n.

Install it once:

python -m pip install 'pseudocode-i18n-languageserver>=0.9.7,<0.10'

On an externally managed Python installation, when you deliberately install into user/system packages:

python -m pip install --break-system-packages 'pseudocode-i18n-languageserver>=0.9.7,<0.10'

Check the command used by editors:

pseudo-lsp --version

You normally do not launch pseudo-lsp yourself. Kate, Neovim, Spyder or another LSP client starts it as a child process and communicates with it through stdin/stdout.

Shared editor intelligence

pseudo-lsp exposes the coordinated editor contract while keeping the language itself in pseudocode-i18n:

  • multiple localized diagnostics from the recovering core linter, with exact source ranges;
  • completion plus retained frontend snippets, signature help, document symbols, definitions, references, rename and formatting;
  • hover documentation generated by the core for ordinary keywords and structural grammar fragments such as Alors, fois, Jusqu'à ce que and every word of localized multi-word import aliases such as en tant que;
  • import operands remain symbols rather than documentation keywords, preventing false hover/help on names such as an imported sqrt;
  • all 14 source languages receive the same behavior without maintaining language-specific tables in the server;
  • project-aware standard/local module resolution and strict type/operation diagnostics are preserved;
  • pseudocode/tutor exposes the shared pseudocode-tutor/v2 step-by-step execution model, including static flowchart snapshots with stable node/edge IDs and compact incremental output deltas;
  • pseudocode/flowchart exposes the same shared flowchart model for static previews/export and keeps the Mermaid compatibility representation; rich Tutor clients can render once and toggle stable IDs locally rather than requesting a new graph per step;
  • each open-document model retains its parsed AST and caches Tutor sessions, symbol/scope lists and flowchart snapshots by document version, so diagnostics and custom requests reuse work already performed for the current source;
  • custom Pseudocode requests share one document-parameter normalizer, accepting standard textDocument.uri plus compatibility fallbacks without duplicating parsing in editor plugins.

The server remains a thin LSP layer: source-language knowledge belongs to pseudocode-i18n, so VS Code, Thonny and other clients see the same diagnostics and help.

Language-server capabilities

The server exposes the same language intelligence for all 14 supported natural languages:

  • diagnostics from the native pseudocode-i18n parser and semantic linter, including multiple independent errors in one document, explicit type-contract mismatches and incompatible typed operations;
  • project-aware module diagnostics: math and random are standard, while existing local .pseudo / .algo modules are resolved from the document/project path;
  • i18n code completion and the existing structural snippets, using the normal language-resolution priority;
  • completion for document symbols, localized built-ins, constants and types;
  • pedagogical hover information for symbols, keywords, types and built-ins, with localized section labels and every accepted syntax synonym exposed;
  • signature help;
  • document symbols;
  • go to definition;
  • find references;
  • prepare rename and rename;
  • whole-document formatting;
  • .pseudo and .algo as equivalent source extensions.

The server does not maintain a second grammar. pseudocode-i18n remains the source of truth for parsing, language detection, configuration, formatting, diagnostics, snippets and semantic indexing.

Language and snippet resolution

A document uses the same precedence as the core:

  1. explicit # language: xx / # lang: xx directive;
  2. language: / lang: in pseudocode.config.yml;
  3. automatic language detection;
  4. fallback_language;
  5. French as the final default.

This means typing a condition snippet in a French file proposes Si … Alors, while an English file proposes If … Then, without editor-specific copies of the snippet catalog.

Editor targets

Editor / IDE Integration path
Kate Native generic LSP client; ready to configure. A generated KSyntaxHighlighting definition is included.
Neovim (nvim) Native LSP client; ready to configure. A Lua configuration is included.
Spyder Supports LSP servers for “Other languages”; configuration guide included.
Thonny 5 thonny-pseudocode-i18n connects completion/snippets, hover, signature help, diagnostics, Ctrl+click navigation, rename and formatting to this server.
Mu Editor Requires a Mu mode/editor adapter; the server side is ready. Mu remains an explicit project target.
Pyzo Requires an editor adapter unless/until Pyzo exposes a generic LSP client; the server side is ready.
VS Code / Code - OSS vscode-pseudocode-i18n now uses this server for completion/snippets, hover, navigation, rename, signatures, document symbols, formatting and diagnostics while keeping its richer execution/preview UX.

See the Editors section of the documentation for exact configuration and current limitations.

Development

yarn setup
yarn bfc

yarn setup installs the current project and uses a sibling ../pseudocode-i18n checkout when present. yarn bfc is an alias for yarn build:full:check and performs version synchronization, generated integrations, linting, tests, a CLI smoke test, strict MkDocs documentation build and Python package build.

Useful commands:

yarn dev
yarn dev:lan
yarn test
yarn lint
yarn smoke
yarn zip

License

GNU General Public License version 3 or later (GPL-3.0-or-later).

Metadata

Release files for pseudocode-i18n-languageserver 0.9.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pseudocode-i18n-languageserver 0.9.7
File Size Uploaded
pseudocode_i18n_languageserver-0.9.7.tar.gz 50.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pseudocode-i18n-languageserver 0.9.7
File Interpreter ABI Platform
pseudocode_i18n_languageserver-0.9.7-py3-none-any.whl Python 3 none any Details

Total release size: 77.7 kB

Release files / pseudocode_i18n_languageserver-0.9.7.tar.gz

Download URL pseudocode_i18n_languageserver-0.9.7.tar.gz
Size 50.9 kB
Tags Source
SHA-256 checksum
How to use checksums
68b8de595f4d859362a24efb94229967bfc52d061a65b5de0257fa312525b9c5
BLAKE2b-256 checksum
How to use checksums
1612429abf2b8eb67e2cb04ac17c11d1c3f2e200bc823a2bcf5a99a3425dc08e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / pseudocode_i18n_languageserver-0.9.7-py3-none-any.whl

Download URL pseudocode_i18n_languageserver-0.9.7-py3-none-any.whl
Size 26.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5ba7f2f9ae081e58324c9d36044b08ba1a199296fba76ccb07ef430a7a694afe
BLAKE2b-256 checksum
How to use checksums
26ec6f26b5c0cb0bf02a276ecee8158a297982fc39d634eb88572dad93c967f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.15

Release history Release notifications | RSS feed

1.0.2

2 release files

1.0.0

2 release files

0.9.12

2 release files

0.9.9

2 release files

0.9.8

2 release files

This release

0.9.7 This release

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page