Prolog 콘솔에서 edit 명령어를 사용하면, SWI-Prolog(swipl)이 실행 중인 OS에 따라 편집기가 열리고, edit 명령어의 인자로 넣은 pl 파일을 수정할 수 있다. 그런데 윈도우에서는 메모장이 기본 편집기로 설정되어 있기 때문에 코딩 덕후의 마음을 언짢게 한다. 이럴 땐 내가 원하는 다른 편집기로 바꿀 수 있다.
윈도우에서 sublime을 기본 편집기로 바꿔주는 경우를 생각해보자.
swipl이 설치 된 곳에 가면 edit.pl이 있다. 여기에 기본 편집기를 설정한다. 이 파일을 아무 편집기(아마 sublime)를 관리자 권한으로 실행 후 열어준다. 파일을 열고 잘 찾아보면 아래와 같이 각종 편집기가 정의되어 있다.
edit_command(vi, '%e +%d \'%f\''). | |
edit_command(vi, '%e \'%f\''). | |
edit_command(emacs, '%e +%d \'%f\''). | |
edit_command(emacs, '%e \'%f\''). | |
edit_command(notepad, '"%e" "%f"'). | |
edit_command(wordpad, '"%e" "%f"'). | |
edit_command(uedit32, '%e "%f/%d/0"'). % ultraedit (www.ultraedit.com) | |
edit_command(jedit, '%e -wait \'%f\' +line:%d'). | |
edit_command(jedit, '%e -wait \'%f\''). | |
edit_command(edit, '%e %f:%d'). % PceEmacs client script | |
edit_command(edit, '%e %f'). |
swipl이 sublime이 뭔지 모를테니, 편집기 이름을 sublime으로 지어주고, 실행위치를 알려주기로 한다. 예를 들면 아래와 같은 코드를 추가해주면 된다.
edit_command(sublime, 'C:\\Program Files\\Sublime Text 3\\sublime_text.exe "%f"'). |
이제 기본으로 실행할 편집기를 sublime으로 바꾸어준다. 기존의 코드는 주석처리해버리거나 지운다.
% editor(notepad) :- | |
% current_prolog_flag(windows, true), | |
% !. | |
editor(sublime) :- | |
current_prolog_flag(windows, true), | |
!. |
참고
https://www.swi-prolog.org/FAQ/BindEditor.html
https://www.swi-prolog.org/pldoc/doc_for?object=prolog_edit%3Aedit_command/2
'노트정리 > 논리형 프로그래밍 logic programming' 카테고리의 다른 글
1차 논리(술어 논리)를 이용한 삼단논법 증명 (0) | 2024.04.22 |
---|