Skip to content
No description, website, or topics provided.
OCaml Emacs Lisp
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin/lsp-server WIP: Add a basic LSP server program Mar 30, 2019
editor/emacs Simplify editor configs Mar 31, 2019
examples Add examples Apr 13, 2019
lib Send diagnostics by using LSP. Send completion info by using LSP Apr 13, 2019
.gitignore
README.md Simplify editor configs Mar 31, 2019
dune WIP: Add a basic LSP server program Mar 30, 2019
dune-project WIP: Add a basic LSP server program Mar 30, 2019
sounanda.opam Initial commit Mar 30, 2019

README.md

Sounanda

A sample project for a frontend of Sounanda programming language

同人誌:進捗大陸05(技術書典6参加予定)の内容の一部のサンプルプロジェクトです.

このリポジトリは,自作言語 Sounanda のフロントエンド実装であり,具体的には以下の内容が含まれます.

  • Syntax checker
  • Type checker
  • LSP server

使い方

現状,Sounanda言語はLinux上のEmacsでのみ動作確認を行っています.

Emacsでの設定

このリポジトリを~/repo/sounandaにcloneした場合,以下のような設定をinit.elに書き足すことでSounanda言語の補完を行える準備が整います.

;; Sounanda
(setq sounanda-base (expand-file-name "~/repo/sounanda"))

(add-to-list 'load-path (concat (file-name-as-directory sounanda-base) "editor/emacs/"))
(require 'sounanda-mode)

(setq sounanda-lsp-server-bin (concat (file-name-as-directory sounanda-base)
                                      "_build/install/default/bin/sounanda-lsp-server"))
(require 'sounanda-lsp-client)

(setq auto-mode-alist (cons '("\\.sounanda\\w?" . sounanda-mode) auto-mode-alist))

(add-hook 'sounanda-mode-hook #'lsp)

設定を行った後,cloneしたディレクトリ(例:~/repo/sounanda) で dune build && emacs examples/test.sounanda & を実行してください.

ライセンス

NYSLとします.

You can’t perform that action at this time.