Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/devcat-studio/kailua

🌴 Type Checker and IDE Support for Lua
https://github.com/devcat-studio/kailua

kailua lua type-checker vscode-extension

Last synced: 11 days ago
JSON representation

🌴 Type Checker and IDE Support for Lua

Awesome Lists containing this project

README

        

# 🌴 [카일루아][docs] [![(crates.io)][cratesio-image]][cratesio]

[docs]: https://devcat-studio.github.io/kailua/ko-KR/
[cratesio-image]: https://img.shields.io/crates/v/kailua.svg
[cratesio]: https://crates.io/crates/kailua

[English](README.md)

**카일루아**λŠ” [루아][Lua] ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ₯Ό μœ„ν•œ μ‹€ν—˜μ  νƒ€μž… 검사기 및 톡합 개발 ν™˜κ²½(IDE)μž…λ‹ˆλ‹€. (ν˜„μž¬λŠ” 루아 5.1만 μ§€μ›λ©λ‹ˆλ‹€.)

**μžμ„Έν•œ λ¬Έμ„œλŠ” [μ—¬κΈ°][docs]μ—μ„œ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.**

## μ„€μΉ˜μ™€ μ‚¬μš©

μΉ΄μΌλ£¨μ•„λŠ” 독립 κ²€μ‚¬κΈ°λ‘œλ„ μ“Έ 수 있고 IDE ν”ŒλŸ¬κ·ΈμΈμœΌλ‘œλ„ μ“Έ 수 μžˆμŠ΅λ‹ˆλ‹€.

### 독립 검사기

독립 검사기λ₯Ό μ„€μΉ˜ν•˜λ €λ©΄ λ¨Όμ € [러슀트λ₯Ό μ„€μΉ˜][install Rust]ν•œ λ’€(1.15 이상이 ν•„μš”ν•©λ‹ˆλ‹€), λ‹€μŒμ„ μž…λ ₯ν•©λ‹ˆλ‹€.

```
cargo install -f kailua
```

(`-f`λŠ” 이미 μ„€μΉ˜λœ 검사기도 ν•¨κ»˜ μ—…κ·Έλ ˆμ΄λ“œ ν•΄ μ€λ‹ˆλ‹€.)

`kailua check <검사λ₯Ό μ‹œμž‘ν•  파일 경둜>`둜 μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

![](doc/ko-KR/src/res/kailua-check.png)

λ˜ν•œ `kailua.json`μ΄λ‚˜ `.vscode/kailua.json`이 ν•΄λ‹Ή 디렉토리에 μžˆλ‹€λ©΄ `kailua check <검사할 디렉토리 경둜>`둜 μ‹€ν–‰ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. μ„€μ • 파일의 포맷은 이 λ¬Έμ„œμ˜ 뒷뢀뢄을 μ°Έκ³ ν•˜μ„Έμš”.

### Visual Studio Code

μΉ΄μΌλ£¨μ•„λŠ” [Visual Studio Code][VSCode]μ—μ„œ IDE둜 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λΉ λ₯Έ μ‹€ν–‰(`Ctrl-P`)μ—μ„œ `ext install kailua`λ₯Ό μž…λ ₯ν•΄μ„œ μ„€μΉ˜ν•©λ‹ˆλ‹€. **μœˆλ„ μ΄μ™Έμ˜ ν™˜κ²½μ—μ„œλŠ” μ•žμ—μ„œ μ„€λͺ…λœ λŒ€λ‘œ 독립 검사기λ₯Ό λ¨Όμ € μ„€μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.**

루아 μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 폴더λ₯Ό μ—΄λ©΄ μ„€μ • νŒŒμΌμ„ 찾을 수 μ—†λ‹€λŠ” 였λ₯˜κ°€ λ‚˜μ˜΅λ‹ˆλ‹€. 이 μ„€μ • νŒŒμΌμ€ μ‹€μ‹œκ°„μœΌλ‘œ 검사λ₯Ό μˆ˜ν–‰ν•˜λŠ” 데 ν•„μš”ν•©λ‹ˆλ‹€.

![](doc/ko-KR/src/res/kailua-vsc-missing-config.png)

`.vscode/kailua.json`을 직접 λ§Œλ“€μ–΄λ„ 되고, λͺ…λ Ή νŒ”λ ˆνŠΈ(`Ctrl-Shift-P`)μ—μ„œ "Kailua"둜 μ°Ύμ•„ μ„€μ • νŒŒμΌμ„ μˆ˜μ •ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

![](doc/ko-KR/src/res/kailua-vsc-edit-config.png)

μˆ˜λ™μœΌλ‘œ νŽΈμ§‘ν•  경우 `.vscode/kailua.json`에 λ‹€μŒ λ‚΄μš©μ΄ ν•„μš”ν•©λ‹ˆλ‹€.

```json5
{
"start_path": "<검사λ₯Ό μ‹œμž‘ν•  파일 경둜>",

"preload": {
// μ•„λž˜λŠ” μš°λ¦¬κ°€ 루아 5.1와 λͺ¨λ“  κΈ°λ³Έ 라이브러리λ₯Ό μ‚¬μš©ν•¨μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
"open": ["lua51"],
},
}
```

μ„€μ • νŒŒμΌμ„ μ μš©ν•˜λ €λ©΄ `Ctrl-R`둜 ν˜„μž¬ 창을 μƒˆλ‘œ λ‘œλ“œν•΄μ•Ό ν•©λ‹ˆλ‹€.

### 첫 카일루아 μ½”λ“œ

μ‹œμž‘μ μ„ μ§€μ •ν–ˆμœΌλ©΄ 첫 카일루아 μ½”λ“œλ₯Ό μž‘μ„±ν•΄ 보죠.

```lua
--# open lua51
print('Hello, world!')
```

μ„€μ • νŒŒμΌμ„ μ‚¬μš©ν•˜κ³  μžˆλ‹€λ©΄ μ’€ 더 κ°„λ‹¨ν•œ μ½”λ“œλ„ κ°€λŠ₯ν•©λ‹ˆλ‹€.

```lua
print('Hello, world!')
```

이 μ½”λ“œλ₯Ό μž μ‹œ 가지고 κ±΄λ“œλ € λ³΄λ©΄μ„œ 카일루아가 μ–΄λ–€ 였λ₯˜λ₯Ό μž‘μ•„ λ‚Ό 수 μžˆλŠ”μ§€ 확인해 λ³΄μ„Έμš”.

## λΌμ΄μ„ μŠ€

μΉ΄μΌλ£¨μ•„λŠ” [MIT λΌμ΄μ„ μŠ€][license-mit]와 [μ•„νŒŒμΉ˜ λΌμ΄μ„ μŠ€ 2.0][license-apl]으둜 λΌμ΄μ„ μŠ€λ˜μ–΄ 있으며 λ‘˜ 쀑 ν•˜λ‚˜λ₯Ό 선택할 수 μžˆμŠ΅λ‹ˆλ‹€. 카일루아에 κΈ°μ—¬ν•˜λ©΄ κΈ°μ—¬λœ λ‚΄μš©μ΄ 이 두 λΌμ΄μ„ μŠ€λ‘œ λΌμ΄μ„ μŠ€λœλ‹€λŠ” 데 λ™μ˜ν•˜κ²Œ λ©λ‹ˆλ‹€.

[Lua]: https://www.lua.org/
[Rust]: https://www.rust-lang.org/
[install Rust]: https://www.rust-lang.org/install.html
[VSCode]: https://code.visualstudio.com/
[internals-doc]: ./INTERNALS.md
[license-mit]: ./LICENSE-MIT
[license-apl]: ./LICENSE-APACHE