2014-10-09 5 views
3

lawlist-org-mode이라는 사용자 지정 버전을 사용합니다. 모든 함수와 변수는 접두사 lawlist-을 가지며 수정 된 버전은 주식 버전에서 사용할 수없는 많은 사용자 지정 기능을 가지고 있습니다 . 때로는 org-mode 버전을 사용하고 싶지만, 수동으로 auto-mode-alist을 수정 한 다음 이맥스를 다시 시작해야합니다. 이것은 함수와 변수 org-agenda-files 및 적절한 주요 모드가 있는지 확인하기 위해 org-mode이 수행하는지 확인해야하기 때문에 필요합니다. 호출되는 함수에 따라 프로그래밍 방식으로 수정하는 효율적인 방법이 있습니까?다른 주요 모드에 대해 동일한 파일 확장명을 사용하는 방법

주식을 org-mode 요구 사항이 항목 :

(add-to-list 'auto-mode-alist '("\\.todo\\'" . lawlist-org-mode)) 

: 사용자 지정 버전 lawlist-org-mode 요구 사항이 항목라고

(add-to-list 'auto-mode-alist '("\\.todo\\'" . org-mode)) 

  • 내가를 호출하는 경우이면 .todo 파일은 org-mode이어야합니다.

  • M-x lawlist-org-agenda으로 전화 할 경우 .todo 파일은 lawlist-org-mode이어야합니다.


일부 아이디어은 다음 org-agenda-files은 일반적으로 다음 코드 줄을 사용하여 조직-의제 기능에 의해 액세스 - (org-agenda-files nil 'ifmode) . . . (while (setq file (pop files)). 아마도 함수 org-agenda-files을 수정하는 것은 옵션일까요?

+0

완전히 이상하지만, 궁금합니다. 귀하의 org-mode 버전이 제공하는 어떤 종류의 기능이 주식 버전이 아닌지 알고 싶습니다. 코드를 호스팅하는 온라인 레포 링크가 있습니까? 그것을 체크 아웃하고 싶네요 :) – itsjeyd

+0

@itsjeyd - 첫 번째 링크는 headline + deadline/scheduled + notes가있는 사용자 정의 일정 버퍼를 표시하는 org-toodledo.el과 호환되는 코드입니다. https : // github .com/lawlist/lawlist-org -이 두 번째 링크는 특정 할일 목록이 캘린더에 자동으로 표시되는 3 개월 및 12 개월 캘린더 (예 : 생일, 약속, 법정 공휴일)와의 호환성을 제공합니다. https : //github.com/lawlist/calendar-yearly-scroll-by-month org-mode/calendar-mode의 사용자 정의 버전은 몇 가지 추가 기능을 제공하지만이 두 링크가 주요 요소입니다. – lawlist

+0

@itsjeyd - 커스텀'* Org Agenda * '버퍼의 용어들, 나는 headline + deadline/scheduled + notes를 표시하는 3 가지 주요 검색 유형을 가지고있다 : org-agenda-list ', 태그를위한'org-tags-view', 그리고 키워드 검색을위한'org-search-view'가 있습니다. 작업, 이벤트, 날짜 없음, 완료 및 컨택과 같이 날짜가 지정되지 않고 날짜가있는 todo, alphabetic 및 grouping을 구성하는'* Org Agenda * '버퍼에 대한 추가 정렬 기준이 있습니다. 나는'* Org Agenda * '버퍼에서 사용할 수있는 일반적인 편집 유형 (예 : 타임 스탬프, 할 일, 내용)을 가지고 있습니다. – lawlist

답변

5

auto-mode-alist 항목의 FUNCTION 부분 (즉, cdr)은 단지 기능에 불과합니다. 기본적으로 메이저 모드를 설정하기 위해 호출됩니다. 그러나 그것은 무엇이든 할 수 있습니다.

특히 foo 함수는 조건부로 lawlist-org-mode 또는 org-mode 중 하나를 호출하는 항목 ("\\.todo\\'" . foo)을 가질 수 있습니다.

예를 들어, 달이 가득 차면 lawlist-org-mode을, 그렇지 않으면 org-mode을 사용할 수 있습니다. 또는 전역 변수를 테스트 할 수 있습니다. 전역 변수는 한 곳에서 다른 곳으로 전환 할 때 설정합니다. 등등.

적어도 auto-mode-alist doc 문자열을 읽었습니다. 나는 결코 그것을 시도하지 않았다.

+0

예, 실제로 작동합니다 - 감사합니다! – lawlist