vitte

Vitte — Completions

Introduction

Le système de completions de Vitte est conçu pour améliorer la productivité des développeurs.
Il s’intègre principalement via le LSP (Language Server Protocol) et le CLI, en fournissant des suggestions contextuelles et intelligentes.


Objectifs


Types de Completions

1. Mots-clés du langage

Exemple : fn, let, const, return, if, else, while, for

2. Variables locales

Suggestions basées sur le scope courant :

let count = 10
cou|    # suggère: count

3. Fonctions définies

Complétion de signatures :

fn add(x: int, y: int) -> int { ... }

ad|   # suggère: add(x: int, y: int) -> int

4. Imports et modules

Complétion automatique des modules disponibles :

import ma|   # suggère: math, macros, map

5. Stdlib et API natives

Accès rapide aux fonctions de la stdlib :

math.sq|   # suggère: sqrt(), square()

6. Snippets et Templates

Exemples :


Intégration CLI

Le CLI vitte supporte l’autocomplétion shell :

Bash

source <(vitte completions bash)

Zsh

vitte completions zsh > ~/.zsh/completions/_vitte

Fish

vitte completions fish | source

PowerShell

vitte completions powershell | Out-String | Invoke-Expression

Intégration LSP

Le serveur LSP Vitte fournit :

Exemple JSON (LSP response) :

{
  "label": "add",
  "kind": 3,
  "detail": "fn add(x: int, y: int) -> int",
  "insertText": "add(${1:x}, ${2:y})",
  "insertTextFormat": 2
}

Roadmap Completions


Conclusion

Les completions Vitte unifient l’expérience CLI et IDE.
Elles permettent aux développeurs d’écrire plus vite, avec moins d’erreurs, et avec une productivité accrue.
En combinant LSP, CLI et snippets, elles font de Vitte un langage moderne, agréable et efficace à utiliser.