tree-sitter
neovim, helix등이 지원하는 파서 제너레이터, 증분 파싱 라이브러리이다. 트리시터를 사용하면 코드 텍스트를 동적으로 파싱을 할 수 있어 구조적 편집에 매우 유용하다[1].
tree-sitter support languages
다음은 트리시터 파서가 존재하는 언어의 목록이다.
ada: 미국 국방부 주도로 만든 정적 강타입 언어agda: dependently type을 적용한 함수형 언어arduino: 아두이노 DSLastro: 정적 타입 언어awk: 문자열 처리 프로그램과 그 스크립팅 언어bash: bash 쉘 스크립팅 언어beancount: 금용 거래를 위한 DSLbibtex: 참고문헌을 관리하기 위한 파일형식bicep: Azure 배포를 위한 DSLblueprint: api 설명을 위한 DSLc: cc_sharp: c#capnp: 데이터 직렬화 형식chatito: 챗봇용 데이터 세트 생성을 위한 DSLclojure: jvm에서 작동하는 lispcmake: 빌드 소프트웨어 스크립트 언어comment: 주석 내부 태그commonlisp: lisp2cpon: 데이터 직렬화 언어cpp: c++css: csscuda: gpu 조작을 위한 apicue: 데이터 직렬화 언어d: Ddart: Dartdevicetree: 컴퓨터 하드웨어 기술을 위한 DSLdhall: json, yaml 등을 관리하기 위한 스크립트 언어diff: git diffdockerfile: 도커 파일dot: 그래프 작성을 위한 DSLebnf: EBNFeex: eexelixir: elixirelm: elmelsa: 람다 대수 표기언어elvish: elvish 쉘 스크립팅 언어embedded_template: cpp etlerlang: erlangfennel: fennelfish: fish 쉘 스크립팅 언어foam: 유체역학 유틸리티 openfoam 언어fortran: fortranGodot (gdscript): Godot 게임엔진 스크립팅 언어git_rebase: git rebasegitattributes: gitattributesgitcommit: git commitgitignore: git ignoregleam: gleamGlimmer and Ember: Ember apiglsl: 그래픽 쉐이딩을 위한 DSLgo: golangGodot Resources (gdresource): Godot 데이터 직렬화 방식gomod: go.modgosum: go.sumgowork: go.workgraphql: graphqlhack: hackhaskell: haskellhcl: hclheex: heexhelp: vimdochjson: hjsonhlsl: HLSLhocon: hoconhtml:htmlhtmldjango: jangohttp: httpini: inijava: javajavascript: javascriptjq: jqjsdoc: jsdocjson: jsonjson5: json5JSON with comments: json with commentsjsonnet: jsonnetjulia: juliakdl: kdlkotlin: kotlinlalrpop:lalrpop 파서latex: latexledger: ledgerllvm: llvmlua: lualua patterns: lua patternsm68k: MOTOROLA M68000make: gnu makemarkdown (basic highlighting): commonMarkmarkdown_inline (needed for full highlighting): commonMarkmatlab: matlabmenhir: menhir 파서 제너레이터mermaid: 차트, 그래프 생성 DSLmeson: meson 빌드nickel: nickelninja: ninja buildnix: nix DSLnorg: neorgocaml: ocamlocaml_interface: ocaml interfaceocamllex: ocaml lexorg: orgmodepascal: pascal-
perl: perlphp: phpphpdoc: phpdocpioasm: pioasmpo: poPath of Exile item filter: path of exileprisma: prisma DSLproto: 데이터 직렬화prql: 데이터 전송 SQLpug: 템플릿 생성 언어python: 파이썬ql: codeqlqmldir: Qt qmldir 파일qmljs: QML DSLTree-sitter query language: 트리시터 쿼리r: Rracket: racketrasi:rofi themernoweb: R 문학적 프로그래밍ron: RON 데이터 직렬화rst: reStructuredTextruby: rubyrust: rustscala: scalascheme: schemescss: sassslint: slint DSLsmali: smalismithy: smithy DSLsolidity: soliditysparql: 쿼리 DSLsql: SQLstarlark: 구성 DSLsupercollider: supercollidersurfacesurface DSL:svelte: svelte DSLswift: swiftsxhkdrc: sxhkd DSLt32: TRACE32teal: tlterraform: terraformthrift: thrifttiger: tiger 컴파일러tlaplus: tla+-
toml: toml 직렬화 언어tsx: tsxturtle: turtletwig: twigtypescript: typescriptungrammar: ungrammarv: vvala: vala-
vhs: vhs toolvim: vimscriptvue: vuewgsl: WebGPU Shading Languagewgsl_bevy: bevyyaml: yamlyang: 데이터 모델링 DSLyuck: DSLzig: zig