2012-07-03 45 views
7

Tôi đang sử dụng Nhân sư cho tài liệu mã và sử dụng một số ngôn ngữ trong mã, tôi muốn thiết lập làm nổi bật cho tất cả mã đó. Nhân sư đề cập ngắn gọn một vài ngôn ngữ mà nó hỗ trợ (on this page), và sau đó đề cập rằng nó sử dụng Pygments để phân tích từ vựng và làm nổi bật. Chọn lọc thông qua tài liệu cho cả Sphinx và Pygments mang lại cho tôi không có manh mối về cách làm một cái gì đó như làm nổi bật mã mục tiêu-c.Nhân sư: Danh sách các ngôn ngữ được hỗ trợ để làm nổi bật?

Pygments đề cập đến danh sách các ngôn ngữ hỗ trợ, here, tuy nhiên điều đó không cho tôi biết cú pháp chính xác mà tôi phải sử dụng trong Sphinx (tệp .rst) để cho biết khối mã đánh dấu cho một ngôn ngữ cụ thể. Ví dụ, để làm nổi bật C++ mã bạn sử dụng đơn giản này trước khi mã của bạn khối:

.. highlight:: c++

Tuy nhiên sau khi thử những tôi dường như không thể đánh dấu mã Objective-C:

.. highlight:: Objective-C 
.. highlight:: objective-c 
.. highlight:: Obj-C 
.. highlight:: obj-c 

bất cứ ai có thể cung cấp cho tôi với danh sách các ngôn ngữ (như bạn sẽ đề cập đến chúng trong tài liệu)?

Trả lời

6

Theo như tôi có thể biết, danh sách có trong tệp pygments/lexers/_mapping.py, trong từ điển (autogenerated) LEXERS. Trong bản sao của tôi, tôi thấy một dòng

'ObjectiveCLexer': ('pygments.lexers.compiled', 'Objective-C', ('objective-c', 'objectivec', 'obj-c', 'objc'), ('*.m',), ('text/x-objective-c',)), 

Tôi nghĩ rằng điều này sẽ có nghĩa là bất kỳ thẻ objective-c, objectivec, obj-c hoặc objc nên làm việc, miễn là các phiên bản của Pygments là up-to-date. Họ làm việc cho tôi.

3

Nếu bạn cài đặt mô-đun pygments. Bạn có thể sử dụng tập lệnh này để có danh sách các trình đánh dấu được hỗ trợ:

from pygments.lexers import get_all_lexers 

lexers = get_all_lexers() 
for lexer in lexers: 
     print "-\t" + lexer[0] + "\n" 
     print "\t-\t" + "\n\t-\t".join(lexer[1]) + "\n" 

Mức đầu ra thụt lề đầu tiên sẽ là tên chung và cấp thứ hai sẽ là tên viết tắt mà bạn có thể sử dụng.

Kết quả ví dụ

  • Debian Sourcelist

    • sourceslist
    • sources.list
  • Delphi

    • delphi
    • pas
    • pascal
    • objectpascal

Source

Các vấn đề liên quan