Editores
O LikeC4 oferece uma extensão oficial para VS Code, de código aberto e disponível no GitHub.
A extensão oferece:
- Validação e exibição de erros
- Realce semântico de sintaxe
- Pré-visualização e edição em tempo real
- Autocompletar e navegação pelo código
- Resolução de referências (como
find all referencesego to definition) - Renomeação segura
- Informações ao passar o cursor
- Servidor MCP
A extensão também pode ser executada no navegador.
Experimente o projeto example-cloud-system usando:
Servidor de linguagem independente
Seção intitulada “Servidor de linguagem independente”Para utilizar outros editores além do VS Code, instale o pacote do servidor de linguagem independente:
npm install -g @likec4/lspIsso instala o executável likec4-lsp, um servidor de linguagem autossuficiente, distribuído com todas as dependências incluídas.
O transporte é detectado automaticamente pelos argumentos de linha de comando: --stdio, --node-ipc, --socket=<port>, --pipe=<name>.
O LikeC4 possui um plugin para Neovim com realce de sintaxe e integração LSP para navegação e autocompletar código.
O plugin oferece:
- Inicialização automática do servidor de linguagem LikeC4 para arquivos com extensão
.c4 - Validação e exibição de erros
- Realce semântico de sintaxe
- Autocompletar e navegação pelo código
- Resolução de referências (como
find all referencesego to definition) - Renomeação segura (lembre-se de salvar os buffers)
- Informações ao passar o cursor
- Pré-visualização e edição em tempo real
O likec4.nvim está disponível em um repositório separado no GitHub.
Instalação:
{ 'likec4/likec4.nvim', build = 'npm install -g @likec4/lsp'}Ainda não existe um pacote MELPA, mas é possível configurar o servidor de linguagem independente @likec4/lsp em poucas linhas.
Primeiro, defina um modo principal derivado de prog-mode para que o cliente LSP saiba a quais buffers se conectar:
;; Major mode for .c4 / .likec4 files(define-derived-mode likec4-mode prog-mode "LikeC4" "Major mode for LikeC4 architecture diagram files." (setq-local comment-start "// ") (setq-local comment-start-skip "//+ *") (setq-local comment-end ""))
(add-to-list 'auto-mode-alist '("\\.c4\\'" . likec4-mode))(add-to-list 'auto-mode-alist '("\\.likec4\\'" . likec4-mode))Em seguida, escolha um dos dois clientes LSP:
Eglot (integrado desde o Emacs 29)
Seção intitulada “Eglot (integrado desde o Emacs 29)”(use-package eglot :ensure t :hook ((likec4-mode . eglot-ensure)))
(with-eval-after-load 'eglot (add-to-list 'eglot-server-programs '(likec4-mode . ("likec4-lsp" "--stdio"))))lsp-mode
Seção intitulada “lsp-mode”(use-package lsp-mode :ensure t :commands lsp :hook ((likec4-mode . lsp)) :init (setq lsp-keymap-prefix "C-c l") :config (setq lsp-enable-snippet t))
(with-eval-after-load 'lsp-mode (add-to-list 'lsp-language-id-configuration '(likec4-mode . "likec4")) (lsp-register-client (make-lsp-client :new-connection (lsp-stdio-connection '("likec4-lsp" "--stdio")) :activation-fn (lsp-activate-on "likec4") :server-id 'likec4-lsp)))Ambas as opções oferecem validação, realce semântico de sintaxe, autocompletar, navegação até definições, documentação contextual e renomeação segura, assim como o plugin do Neovim.
Agradecimentos a @vincent067 pela configuração original apresentada em #2268.
O LikeC4 possui uma extensão comunitária para Zed: zed-likec4.
JetBrains IDEs
Seção intitulada “JetBrains IDEs”O LikeC4 possui um plugin para IDEs JetBrains com realce de sintaxe e integração LSP para navegação e autocompletar.
O plugin está disponível no JetBrains Marketplace e no GitHub.