2012-11-15 20 views
5

Liên quan đến câu hỏi: org-mode: fontify code blocks nativelyFont khóa cho SQL-MODE bên trong ORG-MODE không font-khóa

Tôi đã có các phiên bản org-mode và emacs mới nhất của ngày 01 Tháng 11 2012 (org lưu trữ trong org-20121105).

Tôi cũng có chế độ sql đi kèm với emacs-24.

Tôi đã có fontification quay một:

;; fontify code in code blocks 
(setq org-src-fontify-natively t) 

Tuy nhiên, điều này không fontify trong các văn bản org tôi. Java, bash, v.v. tất cả đều hoạt động.

#+BEGIN_SRC SQL 
    SELECT foo FROM bar 
#+END_SRC 

Khi tôi mở tệp foobar.sql, chỉ báo chế độ nói SQL [ANSI] (mà tôi cũng đã thử làm kiểu nguồn) và khóa phông hoạt động.

Cảm ơn trước vì bất kỳ mẹo nào.

+0

'setq' đã được đánh giá là tất nhiên? Bạn có thể 'C-c '' (C-c quote) trong khối để mở nó trong một bộ đệm mới, với đúng chế độ chính, và xem nếu nó được phát hiện chính xác? –

Trả lời

8

Thứ nhất, tên của chế độ chặn SRC phân biệt chữ hoa chữ thường. Nó phải là sql thay vì SQL.

#+BEGIN_SRC sql 
    SELECT foo FROM bar 
#+END_SRC 

Thứ hai, phông chữ đầu tiên của đường nối chế độ sql không làm nổi bật từ khóa SQL, (ít nhất là với tôi, có vẻ như không có sự khác biệt cho dù bạn bật hay tắt). Vì vậy, bạn cần phải xác định loại SQL bạn muốn làm nổi bật. Nếu bạn đang sử dụng MySQL ví dụ:

(add-hook 'sql-mode-hook 
      (lambda() 
      (sql-highlight-mysql-keywords))) 

Sau đó Restart Emacs. Nó sẽ hoạt động ngay bây giờ.

+0

Tôi không chắc chắn phần thứ hai sẽ ảnh hưởng đến định dạng nội tuyến trong tổ chức. –

+0

Tuyệt vời! Công trinh! – justingordon

2

Ồ, đợi đã, thử đặt #+BEGIN_SRC sql trong trường hợp thấp hơn. Xem here để biết số nhận dạng.


Hãy thử làm mới màn hình, bằng cách làm cho khối được sửa lại (phá vỡ cú pháp và hoàn tác hoặc một cái gì đó). Nó thường xảy ra với tôi với các khối python hoặc bibtex, nhưng điều này khắc phục nó.

Tôi không thể thấy lý do tại sao nó sẽ không phông chữ nội tuyến nếu nó tìm đúng chế độ khi bạn C-c '.

Ngoài ra, tôi sợ phông chữ, trong khi là một trong những tính năng đẹp hơn của chế độ org, không được xử lý hoàn toàn chính xác. Từ the mailing list:

Công cụ tạo phông chữ không mạnh mẽ và dễ bị lừa.