
Core package の上書きパッケージ
pulsar-master.zipcore packageコピー手順
packages内の該当パッケージフォルダをpulsar-masterからコピー、フォルダ名とpackage.json内のnameを変更し以下へ移動もとから入っている方のパッケージは無効化する
C:\Users\ユーザー名\.atom\packages
autocomplete-html-custom/completions.json
・基本id以外全部消す・classを追加
autocomplete-css-custom/completions.json
・html の"tag"順番入れ替・attributesの各候補順番入れ替えと候補の追加
autocomplete-css-custom/lib/provider.js
Pulsar ではhtml,phpファイル内でcssの補完が効かないための対策 13行目ピンクを追加 selector: '.source.css, .source.sass, .source.css.postcss, .text.html.php',
Pulsar v1.128.0:phpファイル内、CSSで候補が表示されないことがあるバグあり(同じスコープ箇所でも起きるのでどういう条件で表示されないか不明)、Atomではそのバグなし
補完候補スニペット上書き
緑矢印で表示される補完候補はlanguage-系コアパッケージで制御されている。ユーザーのsnippets.csonに記述することで上書きするこができる- language-css,language-htmlはコピーしただけではエラーが出る。Node.jsコマンドでtree-sitterをパッケージディレクトリにインストールする必要がある
- language-cssを無効化するとphpフィアル内でcssの色分け、補完が効かなくなる
C:\Users\ユーザー名\.atom\snippets.cson
※もとコードは各パッケージのsnippets内のファイル参照※候補表示順はprefixのABC順のため順番を入れ替えても候補順番に反映はされない
※コード内のインデントがずれると効かなくなる
language-css/snippets/language-css.csonからのコード改造
# css file '.source.css': '@media PC 768': 'prefix': 'media' 'body': '@media screen and (min-width: 768px){\n\t${1:$2}\n }$0' '@media SP 767': 'prefix': 'media 767' 'body': '@media screen and (max-width: 767px){\n\t${1:$2}\n }$0' # for Pulsar delete three lines below '.source.css .meta.property-list.css': # css file inside {} for Atom '@media SP 767': # for Atom 'prefix': 'media 767' # for Atom 'clamp': 'prefix': 'clamp' 'body': 'clamp(${1:0}$2,0,0);$0' 'min': 'prefix': 'min' 'body': 'min(${1:0}$2,0);$0' 'calc': 'prefix': 'calc' 'body': 'calc(${1:0}$2 + 0);$0' 'scale': 'prefix': 'scale' 'body': 'scale(${1:0}$2);$0' 'url': 'prefix': 'url' 'body': 'url(images/${1:$2}) no-repeat;$0' 'rgba': 'prefix': 'rgba' 'body': 'rgba(${1:0}$2,0,0,.5);$0' # 'linear-gradient': # 'prefix': 'gradient' # 'body': 'linear-gradient(transparent ${1:50%}$2, #f00 50%);$0' #css file inside {} only for Pulsar '.source.css .meta.block.inside-selector.css': '@media SP 767': 'prefix': 'media 767' '!important': 'prefix': '!' '@charset': 'prefix': 'charset' '@font-face': 'prefix': 'fontface' '@import': 'prefix': 'import' '@keyframes': 'prefix': 'keyframes' '@media': 'prefix': 'media' '@supports': 'prefix': 'supports'
language-html/snippets/language-html.csonからのコード改造
特定のスニペットを候補から非表示にする場合は'body'の行を削除# html file '.text.html': # B 'Blockquote': 'prefix': 'blockquote' 'body': '<blockquote>\n\t$1\n</blockquote>' # C 'Canvas': 'prefix': 'canvas' 'Caption': 'prefix': 'caption' 'Citation': 'prefix': 'cite' 'Code': 'prefix': 'code' 'Column': 'prefix': 'col' 'Column Group': 'prefix': 'colgroup' 'Comment': 'prefix': '--' # D 'HTML — 5': 'prefix': 'doctype' 'Data': 'prefix': 'data' 'Data List': 'prefix': 'datalist' 'Deleted Text': 'prefix': 'del' 'Details': 'prefix': 'details' 'Definition': 'prefix': 'dfn' # U 'Unordered List': 'prefix': 'ul' 'body': '<ul>\n\t<li>$1</li>\n</ul>' #html file inside html tag end '.text.html.basic .source.html .punctuation.definition.tag.end': # for Atom '.text.html.basic .punctuation.definition.tag.end': # for Pulsar 'Strikethrough': 'prefix': 's' 'Sample Output': 'prefix': 'samp' 'Script': 'prefix': 'script' 'Script With External Source': 'prefix': 'scriptsrc' 'Section': 'prefix': 'section' 'Select': 'prefix': 'select' 'Small': 'prefix': 'small' 'Source': 'prefix': 'source' 'Span': 'prefix': 'span' 'Strong': 'prefix': 'strong' 'Style': 'prefix': 'style' 'Subscript': 'prefix': 'sub' 'Summary': 'prefix': 'summary' 'Superscript': 'prefix': 'sup' 'SVG': 'prefix': 'svg' # I 'Italic': 'prefix': 'i' 'Inline Frame': 'prefix': 'iframe' 'Input': 'prefix': 'input' 'Image': 'prefix': 'img' 'Import': 'prefix': 'import' 'Inserted Text': 'prefix': 'ins' # T 'Table': 'prefix': 'table' 'Table Body': 'prefix': 'tbody' 'Table Cell': 'prefix': 'td' 'Template': 'prefix': 'template' 'Text Area': 'prefix': 'textarea' 'Table Foot': 'prefix': 'tfoot' 'Table Header Cell': 'prefix': 'th' 'Table Head': 'prefix': 'thead' 'Time': 'prefix': 'time' 'Title': 'prefix': 'title' 'Table Row': 'prefix': 'tr' 'Track': 'prefix': 'track'
language-php/snippets/language-php.csonからのコード改造
t入力時余計な補完削除のためのコードと ショートechoが<?で効かないため書き換え#php file '.text.html.php:not(.source)': '$this->…': 'prefix': 'this' 'echo $this->…': 'prefix': 'ethis' '<?php foreach (…) … <?php endforeach ?>': 'prefix': 'foreach' #php file inside css '.text.html.php .meta.tag.style.html .source.css.embedded.html': '<?php … ?>': 'prefix': 'php' '.text.html.php': '<?= ?>': 'prefix': 'echo corto' 'body': '<?= $0 ?>'※language-phpはコピーしてもエラーなく有効化できるがコピーせずlanguage-css,language-html同様snippets.csonに上書き記述にする
スニペットセレクタの探し方
atomとpulsarでスニペットセレクタ名が違う箇所がるため効かない場合は調べるスニペットセレクタの探し方
カーソルを事前に検知したい場所に置いておく Ctrl + Shift + P
Editor:Log Cursor Scope
右上青枠内に表示される記述例
指定する時は必ずはじめにドット.をつける.source.css .meta.block.inside-selector.css'