mirror of
https://github.com/foo-dogsquared/wiki.git
synced 2025-01-31 04:58:21 +00:00
20 lines
1.3 KiB
Org Mode
20 lines
1.3 KiB
Org Mode
|
:PROPERTIES:
|
||
|
:ID: bdcff35e-15e1-4539-9c4e-5fdd5b978c26
|
||
|
:END:
|
||
|
#+title: Neovim Lua modules
|
||
|
#+date: 2022-04-20 18:36:23 +08:00
|
||
|
#+date_modified: 2022-04-20 18:39:40 +08:00
|
||
|
#+language: en
|
||
|
|
||
|
|
||
|
- Neovim will load the requires files from its runtime paths;
|
||
|
see =runtimepath= from the [[id:0a0fe63e-dcf3-4928-9e82-5513784c1244][Neovim help system]]
|
||
|
- built on top of the already existing [[id:ffb8b08a-ca0a-48a4-bebc-d2bf11aa5ccf][Lua modules]] system
|
||
|
- while searching for the runtime paths, Neovim will search for certain folders
|
||
|
- =plugin/= will load all of the Lua files that are placed in that subdirectory
|
||
|
- =lua/= also contains Lua files but does not automatically load until some other module will call ~require~ to that module
|
||
|
- =init.lua= is basically the =index.html= for HTML files, =default.nix= for [[id:a57e63a7-6daa-4639-910d-c6648df156a3][Nix language]], or =mod.rs= for [[id:d7d7d8f0-adf9-461d-ace5-c8624dab1083][Rust language]]
|
||
|
- in module names that are ~require~'d, =.= is treated as a separator and representing as a directory in the file tree;
|
||
|
e.g., when running ~require("custom.plugins")~, =custom.plugins= should have a module at =$RUNTIMEPATH/lua/custom/plugins/init.lua=
|
||
|
- at some point, Neovim can make use of more Lua modules with [[https://luarocks.org/][Luarocks]]
|