Si mëson pak Erlang ose IEx ngjyros guaskën REPL? A është kjell një zëvendësim i qëndrueshëm?
Predhat shumëngjyrëshe REPL të Erlang dhe Elixir
Përgjigjet:
Mënyra se si bëhet kjo në LYSE është përdorimi i një shtojce javascript të quajtur highlight.js, kështu që LYSE në fakt nuk po e bën atë , shfletuesi juaj është. Ka shtojca/mode për shumicën e gjuhëve kryesore (ish) të disponueshme për highlight.js. Nëse ueb-i është ajo që ju intereson, kjo është një mënyrë për ta bërë atë (me përjashtim të rasteve kur një përdorues nuk mund të përdorë JS ose e ka të fikur).
Kjo në fakt nuk është fare predha që theksohet, as nuk është e dobishme diku jashtë shfletuesve. Unë jam ngatërruar me një mënyrë për ta bërë këtë në mënyrë më të përgjithshme, fillimisht duke futur formatimin statik në dokumentet HTML dhe XML (ushqeni atë me një dokument dhe ai nxjerr një me sintaksë Erlang të theksuar në një mënyrë të caktuar sa herë që zbulohet/etiketohet). Unë nuk kam ende një projekt të mirë për të publikuar për këtë (shumë i ulët në listën time prioritare atm), por mund t'ju drejtoj në drejtimin e një frymëzimi të fortë: burimi për wx:demo.
Kushtojini vëmendje të veçantë funksionit demo :code_area/1. Aty do të shihni se si përdoren rutinat e tokenizimit për të ofruar sugjerime të theksuara për zonën e shfaqjes së tekstit të kodit burimor në aplikacionin wx:demo. Kjo mund të sigurojë një bazë të fortë për të ndërtuar mjetin tuaj të nënvizimit/shfaqjes së burimit. (Unë mendoj se nuk do të ishte e pamundur, duke pasur parasysh se çdo terminal në përdorim të zakonshëm sot u përgjigjet saktë kodeve të ngjyrave ANSI, të shkruani një shtojcë në guaskë që thekson drejtpërdrejt hyrjen e terminalit -- jo se ka një zhurmë të madhe për këtë veçori në moment.)
EDIT (I nxitur nga një koment nga Fred the Magic Wonder Dog)
Në temën e kodeve të ngjyrave ANSI, nëse kjo është ajo që kërkoni në të vërtetë, ato janë të lehta për t'u zbatuar si një parashtrim për çdo vlerë të vargut që po ktheni brenda një terminali. Terminali u shpëton atyre, kështu që ju nuk do t'i shihni karakteret, por do të kryeni çfarëdo veprimi që përfaqëson kodi. Nuk ka asnjë përfundim (nuk është si një etiketë shënjimi që mbyll tekstin) dhe zakonisht nuk ka asnjë koncept të "ngjyrës së paracaktuar për t'u rikthyer" (megjithëse ka një gajillion-jillion shtesa në modalitetet telnet dhe terminale që mundësojnë të gjitha llojet e marrëzive si p.sh. kjo).
Një shembull i ngjyrosjes bazë është dhe funksioni i0_nofo"> rel_="2_ .1 kod i ErlMUD (së bashku me një mori vendesh të tjera -- ngjyrosja në lojëra është një lloj gjëje) . Ajo që shihni atje është një listë e para-ndërtuar për ngjyrë, por kjo mund të përfaqësohet në çdo mënyrë që do t'i merrte ato vlera në pjesën e përparme të vargut. (Sapo më ka ndodhur të kujtoj sekuencat e vlerave të kodit, por nuk i mbaja mend karakteret që i përbëjnë ato; versioni tjetër i kodit e përfaqëson këtë disi ndryshe.) Këtu është një lidhje për një listë e kodeve të ngjyrave ANSI dhe një diskutim rreth ngjyrosjes së guaskës. Luaj përreth! Argëtimi i tij i çuditshëm, stili i viteve 1980!
Oh, gati harrova... nëse ju vërtet dëshironi të zbrisni në vrimën e lepurit pa lodra budallaqe për fëmijë të vegjël si ncurses për t'ju ndihmuar, hidhini një sy termcap.
Nuk e di nëse kjell është një zëvendësim i qëndrueshëm për Erl, por nuk do të ishte për IEx.
Sa i përket mënyrës se si bëhen ngjyrat; sipas njohurive të mia, kjo është bërë me Sekuencat e arratisjes ANSI.