diff --git a/.gitmodules b/.gitmodules
index 86a9c193..28686262 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -177,3 +177,6 @@
[submodule ".local/share/nvim/site/pack/kejadlen/start/lint"]
path = .local/share/nvim/site/pack/kejadlen/start/lint
url = https://github.com/mfussenegger/nvim-lint.git
+[submodule ".local/share/nvim/site/pack/kejadlen/start/treesitter"]
+ path = .local/share/nvim/site/pack/kejadlen/start/treesitter
+ url = https://github.com/nvim-treesitter/nvim-treesitter.git
diff --git a/.local/share/nvim/site/pack/kejadlen/start/treesitter b/.local/share/nvim/site/pack/kejadlen/start/treesitter
new file mode 160000
index 00000000..c2f76ae9
--- /dev/null
+++ b/.local/share/nvim/site/pack/kejadlen/start/treesitter
@@ -0,0 +1 @@
+Subproject commit c2f76ae970924b83ac803d2076b3d9ad33161836
diff --git a/nvim/fnl/init.fnl b/nvim/fnl/init.fnl
index 66b08956..0df5747f 100644
--- a/nvim/fnl/init.fnl
+++ b/nvim/fnl/init.fnl
@@ -103,6 +103,17 @@
; https://github.com/tpope/vim-vinegar/issues/13
(set vim.g.netrw_home "~/.nvim_tmp")
+;;; tree-sitter
+
+(let [configs (require :nvim-treesitter.configs)
+ {: setup} configs]
+ (setup {:ensure_installed [:fennel]
+ :sync_install false
+ :highlight {:enable true :additional_vim_regex_highlighting false}
+ :indent {:enable true}}))
+(set vim.opt.foldmethod :expr)
+(set vim.opt.foldexpr "nvim_treesitter#foldexpr()")
+
;;; generate help files
; Load all plugins now.