webdevqa.jp.net

Atom python複数行コメント内に埋め込まれたSQLを強調表示するにはどうすればよいですか?

私はatomエディターfor python with Embedded SQL with this:

import sqlite3

conn = sqlite3.connect('spider.sqlite')
cur = conn.cursor()

cur.execute('''SELECT COUNT(from_id) AS inbound, old_rank, new_rank, id, url 
     FROM Pages JOIN Links ON Pages.id = Links.to_id
     WHERE html IS NOT NULL
     GROUP BY id ORDER BY inbound DESC''')

count = 0
for row in cur :
    if count < 50 : print(row)
    count = count + 1
print(count, 'rows.')
cur.close()

Coursera pythonコースを受講した人なら誰でも、上記のコードを認識できます。奇妙なことに、ビデオでは、チャック博士のatom環境が強調表示されています)少なくとも、SELECT、CREATE、FROMなどの従来の大文字のsqlキーワードですが、これを実現するためにatom)に何もする必要があることについては言及していません。一方、三重引用符内のすべてがコメントテキストとして強調表示されます(私のテーマではすべて緑色)。

このコメントは、メインスレッドがMagicPythonを参照している場合でも、( https://github.com/MagicStack/MagicPython/issues/27#issuecomment-418155497 )はAtomとSublimeTextはどちらもSQLのネイティブな強調表示をサポートしていますが、sublimeパッケージをAtomにインストールしても、ネイティブの暗いUIを維持したい場合は、明るい「昇華」サイドバーを表示するだけです。

python内でトリプルクォートされたSQLをアトムで適切に強調表示するために、誰かが私を正しい方向に向けることができますか?ありがとう!

編集:重要な場合はMacOS Sierra(10.12.6)を実行しています。

3
Bella Strange

回答:settings> coreに移動し、Use Tree Sitter Parsersのチェックを外します(コアの下部にあります)設定メニュー。変更を有効にするには、ドキュメントを閉じてから再度開く必要がある場合があります。

問題の原因:

現時点では、language-sqlはツリーシッター文法をまだ提供していないため、AtomはSQL構文の強調表示を提供できません[他の文法が​​それを注入しようとする場合]

[説明付きのghの問題][関連する言語-Pythonの問題]

根本的な問題の修正に貢献したい場合は、ツリーシッターのドキュメントを見て、 language-sql に貢献してください!

1
Steven Kalt