ãã¶ããèªåã nyagos ãç©æ¥µçã«ã¢ãã¼ã«ããã®ã¯ãããæå¾ã ãããä»å¾ãå¤å°ã®ãã¼ã¸ã§ã³ã¢ãããããã¨ã¯æãããåºæ¬ãä¿å®ã«ã ãå¾¹ãã¦ãããã¨ã«ãªãã¨æããã ãããããããæãªã¨ãã«ã§ãèªãã§ããããã幸ãã ã
nyagos 㯠cmd.exe åæ§ãWindows ã®ç§©åºã®ä¸ã§åãã¦ããã³ãã³ãã©ã¤ã³ã·ã§ã«ã§ãã
- Cygwin ã msysãWSL ã¨éããWindows ã®ãã¡ã¤ã«ã·ã¹ãã ã®æ®éã®ãã¹è¡¨ç¾ããã®ã¾ã¾ä½¿ç¨ããããã©ã¤ãã¬ã¿ã¼ãUNCãã¹ãã©ãã¨ãã
- cmd.exe ã®ããããã¡ã¤ã«ããã®ã¾ã¾å©ç¨ãããã¨ãã§ãããç°å¢å¤æ°è¨å®ãããããã®ã¾ã¾å©ç¨ã§ããç°å¢å¤æ°å¤æ´çµæãã¡ããã¨åãè¾¼ããã¨ãã§ãã
nyagos ã¯ä»ã®ä½ãã«ä¾åããªã
- Goè¨èªã«ãã static-link ãããå®è¡ãã¡ã¤ã«ãªã®ã§ãå¤é¨ã«ã©ã³ã¿ã¤ã 㯠DLL ãå¿
è¦ã¨ããªã
- ãã¤ã¦ã¯ lua53.dll ãå¿ è¦ã¨ãã¦ããããä»ã¯ Lua ãGo製ã©ã¤ãã©ãªã使ç¨ãã¦ãã
- USBã¡ã¢ãªã«å ¥ãã¦æã¡æ©ããã¨ãã§ããã°ãscoop ã Chocolatey ã§ã¤ã³ã¹ãã¼ã«ã§ãã
- ã¬ã¸ã¹ããªãæ±ããããªãã¨ãè¡ããªã
nyagos 㯠Unicodeã§åãã¦ãã
- GitHub ã®âãããã¦ã人ã®ååã¨ã¾ã§ã¯ãããªãããããªãå¤å½ã®äººããããã¨ãå¤å½èªå¯¾å¿ãã»ã¼å®å ¨ã«ã§ãã¦ããè£ä»ãã«ãªã£ã¦ãã
- ãã¤ã¦ããã©ã³ã¹èªã®ãã¼ãã¼ãã«å¯¾å¿ã§ãã¦ããªãã¨ããissue ãèµ·æ¡ããã¦ã対å¿ãããã¨ãããï¼Linux 対å¿ã®éããã¼ãã¼ãå ¥åã®æ¹å¼ãæ¹ããå¾ãããã«ããä¸å issue ç«ã¦ããã¦ãã¾ããã¨ããã£ãï¼
- æ
ã«
%USERPROFILE%\.nyagos
㯠UTF8 ã§æ¸ããã°ãªãã¬ã
ç°å¢å¤æ°ã®ãªã¼ãã¼ããã¼é²æ¢ã«ã対å¿ã§ãã
%USERPROFILE%\.nyagos
ã«ã¦ãnyagos ã®ä¸ã§ã ãæå¹ãª %PATH% ã®è¿½å ãã§ããã
nyagos.envadd("PATH", "C:\\go\\bin", "C:\\TDM-GCC-64\\bin", "%ProgramFiles%\\Git\\bin")
nyagos.envadd ã¯éè¤ããªãããç°å¢å¤æ°ã¸ãã£ã¬ã¯ããªã追å ãã Lua é¢æ°ã ã ãã¡ãããããã¾ã§é«æ©è½ãªãã¨ããããåç´ãªç°å¢å¤æ°æä½ã
nyagos.env.path = nyagos.env.path .. ";C:\\go\\bin"
ã¨é¢¨ã«æ¸ãããä¸æ¹ãnyagos ã®ä¸ã§ä½¿ãããããªããã£ã¬ã¯ããªã %PATH% ããé¤ããã¨ãã§ããã
nyagos.envdel("PATH", "Oracle", "Lenovo", "Skype", "chocolatey", "TypeScript", "WindowsApps")
nyagos.envdel ã¯ç°å¢å¤æ°ã®ä¸ãããæå®ãããã¼ã¯ã¼ããå«ããã£ã¬ã¯ããªãé¤ãé¢æ°ã ãæ£ç¢ºã«ãã£ã¬ã¯ããªåãä¸è´ããå¿ è¦ã¯ãªãããã®ããã«ç°å¢å¤æ°ã«è¨±ãããæåæ°ãç¯ç´ããã®ãç°¡åã ã
èµ·åæã«å¤é¨ã®ç°å¢å¤æ°è¨å®ããããå¼ã³åºãã®ããããã ãã ã
nyagos.exec("foo.bat")
å é¨çã«ã¯
cmd.exe /s /c ""foo.bat" & set > ãã³ãã©ãªãã¡ã¤ã«1 & cd > ãã³ãã©ãªãã¡ã¤ã«2"
ã¨å¤§å±¤ãªãã¨ããã£ã¦ããããã¦ã¼ã¶ã¯ããããæ°´é¢ä¸ã®åãã«æ°ã¥ããã¨ã¯ãªãã ããã
ã¨ã¤ãªã¢ã¹
ãªã¼ã½ããã¯ã¹ã«
nyagos.alias.ps1="powershell -ExecutionPolicy RemoteSigned -file"
ã¨ãã£ãã·ã³ãã«ãªå®ç¾©ãã§ãããï¼ç¡è«ã$* ã¨ã $1 ã®ãã¯ãã使ããï¼
nyagos.alias["print"] = function(args) for _,s in ipairs(args) do assert(loadstring("print("..s..")"))() end end
ã¨ãã£ã Lua é¢æ°ã使ã£ãå®ç¾©ãã§ãã
ä»ã®è¿½éã許ããªãè£å®
- bash ã«æºããè£å®ãï¼åç®ã®ã¿ããã¼ã§å¯è½ãªç¯å²ã§ãæååã®è£å®ãï¼åç®ã§åè£ã®ä¸è¦§è¡¨ç¤º
- ããã©ã«ãã§ã¯ãã«ã¼ã½ã«ä½ç½®ã«ãã£ã¦ãã³ãã³ãåè£å®ã»ãã¡ã¤ã«åè£å®ãè¡ã
C:\Program
ãªã©ã®ããã«ç©ºç½ãå«ããã¹ãè£å®ããã¨ã"C:\Program Files\
ã¨å é ã«äºéå¼ç¨ç¬¦ãã¡ããã¨ä»å ãããcd
ãpushd
ãªããã£ã¬ã¯ããªåã ããè£å®ãwhich
ã®å ´åã¯å¼æ°ã§ãã£ã¦ãã³ãã³ãåè£å®ãªã©ãã³ãã³ãã«å¿ããè£å®ãè¡ã- ã¦ã¼ã¶ãè£å®ãã«ã¹ã¿ãã¤ãºãããã¨ãå¯è½ã
.nyagos
ã«use "git.lua"
ã追å ããã¨git branch
ã®å¾ã§ãã©ã³ãåã®è£å®ãgit checkout
ã®å¾ã®ã³ãããããã·ã¥ã»ãã©ã³ãåã®è£å®ãgit add
ã®å¾ã®æ´æ°ãã¡ã¤ã«åã ãã®è£å®ãªã©ãæ¡å¼µãããããã®ãã¸ãã¯ã¯ Lua ã§å®è£ ããã¦ããã
ã³ã¼ãã®ä¾åæ§ç®¡çã®å¾¹åºã«ãã£ã¦å®ç¾ãã極ãã¦é«ã移æ¤æ§
- 誰ã使ããªãããLinux ãã¤ããªãåå¨ãã
- ãã¤ã¦ lua53.dll ãã¼ã¹ã§è¡ã£ã¦ãã Lua è¨èªãµãã¼ãããGopherLua ãã¼ã¹ã«åãæ¿ãããã¨ã«ãæåãã
ããã¦
- Emacs風ãã¼ãã¤ã³ã
- ãã¼ã¢ãµã¤ã³ã®å¤æ´ï¼ä¾ï¼
nyagos.key.c_u = "KILL_WHOLE_LINE"
) - ã«ã¼ã½ã«ãåããã¦ã®ãã¡ã¤ã«åã®é¸æå ¥å(Ctrl-O)ãªãã¦ãã¨ãã§ãããHJKL ã§ã«ã¼ã½ã«ãåãã®ã
çµå±ããã ã®å¤æ©è½èªæ ¢ã«ãªã£ã¦ãã¾ã£ããæ¬å½ã¯ãã£ã¨æ¬è³ªçãªãã¨ãçè·¯æ´ç¶ã¨æ¸ããã°ã¨æã£ã¦ããã®ã ãã
nyagos ã®å身ã§ãã£ã nyaos ã® 0.1 ããªãªã¼ã¹ãããã®ã¯ä»ãã22å¹´ã»ã©åãå½æ㯠OS/2 ã® cmd.exe ã«ä¸è¡ã¨ãã£ã¿ã¼ãã©ããã³ã°ããç°¡å㪠C++ ã·ã§ã«ã ã£ãããã®å¾ãDOS/Windows ä¸ã§å®è£ ããªãã(2.x)ãLua ãå èµã(3.x)ãGoè¨èªã§åã³å®è£ ãç´ãã(4.x)ãfork ã§ããªãã®ã goroutine ã§ã¨ãã¥ã¬ã¼ãããå èµã³ãã³ãã»å¤é¨ã³ãã³ãã®åºå¥ãªããã©ã¬ã«ã§åä½ããæ¬å½ã®ã·ã§ã«ãä½ãä¸ãããã¨ãã§ãããããããã¨ã¯ãããã¿ããªãã£ããDOS/Windows/OS2/Linux ãããã対å¿ãããéæãªäººéã«ãã¦ã¯æ¬å½ã«ä¸åºæ¥ã ã
nyagos ã¯å¤ãã®äººã«ã¯åãå ¥ããããã¨ã¯ãªãã£ãããããå°æ°ã®æ¹ã ã§ã¯ãããè²´é㪠issue ããã«ãªã¯ã¨ã¹ããªã©æ¯æ´ããã ããããããã§èªåã¯ãã£ã±ãã®ããã°ã©ãæ°åãå³ãããã¨ãã§ããã¨ã¦ã幸ããªæ¥ã ãéãããã¨æããã¦ã¼ã¶åä½ã«ã¯æ¬å½ã«æè¬ãããã