2013-02-21 11 views
13

Cho chuỗi "text text #{interpolation}" Văn bản tối ưu 2 làm nổi bật toàn bộ chuỗi bằng một màu. Tôi muốn làm nổi bật văn bản nội suy để dễ dàng chọn ra. Khi tôi nhấn ctrl-shift-alt-p trong phần nội suy Sublime cho tôi biết không gian tên: source.ruby string.quoted.double.ruby source.ruby.embedded.sourceCách thêm tô sáng cú pháp vào văn bản cao cấp 2

Tôi tự hỏi tôi sẽ xác định quy tắc để làm nổi bật điều này (tôi nghĩ trong tệp tmLanguage), định dạng nào quy tắc sẽ mất, và làm thế nào để đi về việc gán một màu cho nó.

+3

+1 cho mẹo ctrl-shift-alt-p, rất hữu ích –

+0

Tệp tmLanguage thiết lập cú pháp. Ví dụ, nó nói tuyệt vời rằng bất cứ thứ gì giữa '" # {'và'} "' là "String embedded source" cho cú pháp đó. Tệp chủ đề sẽ cho phép tuyệt vời để sử dụng màu/nền nhất định cho tất cả các trường hợp "Chuỗi nhúng nguồn". –

Trả lời

10

Nếu bạn thâm nhập vào các bao gồm Dawn.tmTheme tập tin (một trong những giao diện đã có duy nhất thực hiện điều này làm nổi bật đúng cách), bạn sẽ tìm thấy những quy tắc làm nổi bật cho String embedded-source, vì một lý do một số trong những chủ đề rời này ra hoàn toàn:

<dict> 
    <key>name</key> 
    <string>String embedded-source</string> 
    <key>scope</key> 
    <string>string source</string> 
    <key>settings</key> 
    <dict> 
     <key>background</key> 
     <string>#6F8BBA26</string> 
     <key>fontStyle</key> 
     <string></string> 
     <key>foreground</key> 
     <string>#080808</string> 
    </dict> 
</dict> 
+0

Mẹo hay, nhờ –

+0

Tôi đã sao chép điều này vào các chủ đề mà tôi sử dụng, sau đó chỉnh sửa hex cho màu cho đến khi tôi có một cái mà tôi thích. Cảm ơn một tấn. – Tyler

6

Điều này tốt hơn vì nó thực sự làm nổi bật mã trong nội suy dưới dạng mã bình thường, chứ không phải tất cả cùng màu.

<dict> 
    <key>name</key> 
     <string>Embedded Ruby Punctuation</string> 
    <key>scope</key> 
     <string>string punctuation.section.embedded.ruby</string> 
    <key>settings</key> 
    <dict> 
     <key>foreground</key> 
     <string>#F92672</string> 
    </dict> 
</dict> 
<dict> 
    <key>name</key> 
     <string>Embedded Ruby Source</string> 
    <key>scope</key> 
     <string>string source.ruby.embedded.source</string> 
    <key>settings</key> 
    <dict> 
     <key>foreground</key> 
     <string>#FFFBF7</string> 
    </dict> 
</dict>