์ค๋ช : https://nixos.org/nix/manual/#ch -expression-language
https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/misc/ctags/wrapped.nix ์๋ ๋งค์ฐ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์ฑ์ด
--langdef=NIX
--langmap=NIX:.nix
--regex-NIX=/([^ \t*]*)[ \t]*=/\1/f/
๋๋ (ํฌ๋ง์ ์ผ๋ก) ์ด๊ฒ์ ๋ก์ปฌ์์ ์ฝ๊ฐ ๊ฐ์ ํ์ต๋๋ค.
--regex-NIX=/([^ \t*]*)[ \t]*=.*:/\1/f/
๊ทธ๋ฌ๋ ์ฌ์ ํ ๋๋ฌด ๊ธฐ๋ณธ์ ์ด๋ฉฐ ์๋ง๋ ๋ณ๋์ ํ์๊ฐ ํ์ํ ๊ฒ์ ๋๋ค.
์ ๋ Nix / NixOS๋ฅผ ์ฒ์ ์ฌ์ฉํ๋ฏ๋ก ์ง์์ด ๋ง์ง ์์ต๋๋ค.
์ด ์ธ์ด์ ๋ํด.
Nix ์์ฒด๋ ์ธ์ด๋ฅผ ํ์ฑํฉ๋๋ค. ํ์ค ํ์ฑ ๋ฐ ๋ ์ฑ ๋๊ตฌ https://github.com/NixOS/nix/tree/master/src/libexpr์ ์ฌ์ฉํฉ๋๋ค (์ด ๋ฌธ์ ์ ๋งฅ๋ฝ์์ ๊ฐ์ฅ ์ ์ฉ ํ ๊ฒ์ ๋๋ค). ๊ทธ๋ฐ ๋ค์ haskell https://github.com/peti/language-nix ์์๋ ๋ช ๊ฐ์ง ํญ๋ชฉ์ ๋ํด ์๊ณ ์์ผ๋ฉฐ ๋ค์ํ ํธ์ง๊ธฐ (๋๋ ๊ฐ์กฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ)๋ฅผ์ํ ๊ตฌ๋ฌธ ๊ฐ์กฐ ํ์๊ธฐ๊ฐ ์์ต๋๋ค.
์ด๊ธฐ ๋ฒ์ ์ผ๋ก์ ์ ๊ท ํํ์ ๊ธฐ๋ฐ ๊ตฌํ์ ๊ด์ฐฎ์ต๋๋ค. ๊ทธ๊ฒ์ ํญ์์๋ ๊ฒ๋ณด๋ค ๋ซ์ต๋๋ค.
๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ฌ๊ณ ํด์ผํ์ง๋ง optlib๋ ํ์๋ฅผ ๊ตฌํํ๋ ์ฒซ ๋ฒ์งธ ํด๋์ค ๋ฐฉ๋ฒ์
๋๋ค.
๋์ค์ C ๊ธฐ๋ฐ ํ์๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์ค์ํ ์ ์ ์ ๊ท์ ๊ฐ์ "์ข
๋ฅ"ํธํ์ฑ์
๋๋ค.
๊ธฐ๋ฐ ํ์ ๋ฐ C ๊ธฐ๋ฐ ํ์. ์ข
๋ฅ์ ํธํ์ฑ์ด ์ ์ง๋๋ฉด ์๋ฌด๋ ๊ตฌํ ๋ฐฉ๋ฒ์ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค.
๊ทธ๋ฌ๋ nix ๊ตฌํ์ ์ค์ ํ์๊ฐ ์๋ค๋ฉด ๊ทธ๊ฒ์ ํ์ฉํ์ง ์๋ ์ด์ ๋ ๋ฌด์์
๋๊น? ๋ด xmcd๋ ๋น์ ์์ํ ๊ฒ์
๋๋ค.
data / optlib / cofee.ctags ๋ฐ libexec / drivers / coffeetags๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
์๋ ํ์ธ์,์ด ๋ฌธ์ ์ ์ํ๋ ์ด๋ป์ต๋๊น?
ํ ์์ฒญ์ ํ์ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ ํ์ธ์,์ด ๋ฌธ์ ์ ์ํ๋ ์ด๋ป์ต๋๊น?