[SciTE] Lua Startup Script 등록하기 by tactlee

SciTE에서 사용할 Lua 스크립트를 등록하는 방법이다.

먼저 테스트할 Lua 스크립트를 test.lua라는 파일 이름으로 다음과 같이 작성해서, SciTE가 설치되어 있는 폴더에 같이 넣어둔다.
  1. function make_uppercase()
  2.   local sel = editor:GetSelText()
  3.   editor:ReplaceSel(string.upper(sel))
  4. end
그리고 SciTEGlobal.properties 파일에 test.lua를 다음과 같이 등록한다.
ext.lua.startup.script=$(SciteDefaultHome)/test.lua
마지막으로 이 기능을 SciTE의 Tools 메뉴에 등록하기 위해 SciTEGlobal.properties 파일에 아래 코드도 같이 넣어준다.
command.name.12.*=Make Selection Uppercase
command.12.*=make_uppercase
command.subsystem.12.*=3
command.mode.12.*=savebefore:no
command.shortcut.12.*=Ctrl+M
이제 제대로 동작하는지 시험해보자.

시험을 위해서는 SciTE를 새로 실행해야 한다. SciTE에서 Ctrl+N 키로 빈 문서를 하나 열고, 소문자 단어를 입력한 후, 이 단어를 마우스로 더블-클릭해서 블록으로 지정하고, Ctrl+M 키를 누른다. 단어가 소문자에서 대문자로 바뀌었는가? 그렇다면 성공이다.

그런데 이런 방법으로는 스크립트를 한 개 밖에 등록할 수 없다. 여러 개의 스크립트를 사용하려면 extman 이라는 Lua 스크립트 관리자를 사용하면 된다.

extman.zip 파일을 받아 SciTE 폴더에 풀면, extman.lua라는 파일과 scite_lua라는 폴더가 생기는데, scite_lua 폴더 안에는 SciTE에서 사용할 Lua 스크립트들이 들어있다.

이제는 SciTE 실행 시 test.lua 대신 extman.lua를 로딩하도록 SciTEGlobal.properties 파일을 다음과 같이 수정한다.
ext.lua.startup.script=$(SciteDefaultHome)/extman.lua
SciTE를 새로 실행시켜서 Tools 메뉴를 들여다보면 낯선 항목들이 새로 등록되어 있는 것을 볼 수 있다. 이것들은 SciTE 실행 시 extman.lua가 로딩되면서, extman.lua가 scite_lua 폴더의 다른 스크립트들도 로딩한 것이다.

참고로 scite_lua 폴더의 모든 Lua 스크립트가 다 필요하지는 않을 것이다. 꼭 필요한 스크립트만 넣어놓고 쓰자.

참고: http://lua-users.org/wiki/UsingLuaWithScite

트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://tactlee.egloos.com/tb/1645143 [도움말]

덧글

덧글 입력 영역


GirlsWatch