Ctags: Nix ํ‘œํ˜„ ์–ธ์–ด ์ง€์› (Nix / NixOS)

์— ๋งŒ๋“  2015๋…„ 03์›” 07์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: universal-ctags/ctags

์„ค๋ช… : 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๋ฅผ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ง€์‹์ด ๋งŽ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ด ์–ธ์–ด์— ๋Œ€ํ•ด.

Parser buenhancement

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š”,์ด ๋ฌธ์ œ์˜ ์ƒํƒœ๋Š” ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

๋ชจ๋“  4 ๋Œ“๊ธ€

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๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์•ˆ๋…•ํ•˜์„ธ์š”,์ด ๋ฌธ์ œ์˜ ์ƒํƒœ๋Š” ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

ํ’€ ์š”์ฒญ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰