Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

$#が使えるようになりませんか? #37

Closed
insight1111 opened this issue Oct 14, 2011 · 15 comments
Closed

$#が使えるようになりませんか? #37

insight1111 opened this issue Oct 14, 2011 · 15 comments

Comments

@insight1111
Copy link

mattn様、zen-codingプラグイン、大変便利に使っています。ありがとうございます。

自分の作業では、規定の原稿があって、それをHTML化する作業が多いため、expand abbreviation
よりは、wrap with abbreviationをよく使います。
そこで、タイトルのとおりなのですが、よければwrapしたものがバインド?されている$#が
使えるようにならないでしょうか?これが使えると、一層記述が柔軟にできます。

よければご一考願います。

@mattn
Copy link
Owner

mattn commented Oct 14, 2011

beforeとafterを教えて貰えますか?
1例で構いません。

@insight1111
Copy link
Author

早速お返事いただけて嬉しいです。
例えばですが、イメージにキャプションを入れたい、イメージ自身にもalt属性で同じキャプテンを付けたい、
それらをdivで囲みたい、というケースで、

aaaa
bbbb
cccc

というキャプションに対して、
div*>img[alt=$#]+p{この図は$#です}
とwrap with abbreviationを実行すると

<div>
  <img src="" alt="aaaa" />
  <p>この図はaaaaです</p>
</div>
<div>
  <img src="" alt="bbbb" />
  <p>この図はbbbbです</p>
</div>
<div>
  <img src="" alt="cccc" />
  <p>この図はccccです</p>
</div>

に展開されます。とてもニッチな例とは思いますので、
実装を検討いただけるとしても優先順位は低くても構いません。

@insight1111
Copy link
Author

すみません、間違ってcloseしてしまいました・・・

@mattn
Copy link
Owner

mattn commented Oct 14, 2011

なるほど。あとで見てみます。

@mattn
Copy link
Owner

mattn commented Oct 14, 2011

masterにはpushしてませんが、experimentalブランチに入れてみました。

https://raw.github.com/mattn/zencoding-vim/experimental/autoload/zencoding.vim

でautoload/zencoding.vim

を置き換えて(必要であればバックアップ)、試してみて下さい。
いい感じならmasterに入れます。

@insight1111
Copy link
Author

こんなに早い対応、ありがとうございます。
ですが、テストしてみたところ、
aaa
bbb
ccc
と入力してdiv*>p{test is $#}とすると、

    <div>
        <p>test is aaa</p>
    </div>
    <div>
        <p>test is aaa</p>
    </div>
    <div>
        <p>test is aaa</p>
    </div>

と、最初の行が連続であらわれます。
また、これまで使用出来ていた、例えばul>li*といった単純なwrap with abbreviationが、

    <ul>
        <li>aaa</li>
        <li></li>
        <li></li>
    </ul>

と、最初の行のみ埋め込まれます。どうも、これまでの形式と相性が悪い?ようです。

@insight1111
Copy link
Author

また、
div[class=$#]*>p{test is $#}
とすると、

<div class="1#">
    <p>test aaa</p>
</div>
<div class="2#">
    <p>test aaa</p>
</div>
<div class="3#">
    <p>test aaa</p>
</div>
<div class="4#">
    <p>test aaa</p>
</div>

となり、カウンタと競合しているようです。

せっかく改良してしただいたのに申し訳ないです・・・

@mattn
Copy link
Owner

mattn commented Oct 14, 2011

いえ、なんとなく原因が分かりました。
今度はちょっと時間頂いてじっくりやります。すみません。

@insight1111
Copy link
Author

いえ、こんなニッチなお願いを受け止めてくださってありがたいです。

@mattn
Copy link
Owner

mattn commented Oct 14, 2011

一応、↑のケースはテストしたつもりです。

https://raw.github.com/mattn/zencoding-vim/experimental/autoload/zencoding.vim

お時間ある時にでも試して下さい。

@insight1111
Copy link
Author

またまたありがとうございます!
・・・ですが、すみません、例えば公式サイト(https://github.com/sergeche/zen-coding/wiki/Release-Notes)
にある例で言うと、

ul>li*>a{Click at $#}
span[title=$#]{Element’s title is $#}*
ul>li*>span{$#}+{ }+a[title=$#]{$#}

この3つの例のうち、2番目は正常に動作するのですが、1番目と3番目は1列目の値にだけなります。
また、
ul>li*
とすると、値が全部消えてしまいました。
何度もすみません。

@mattn
Copy link
Owner

mattn commented Oct 14, 2011

あ、zencoding version 7 ですね?
実はまだ着手していなかったのです。
上記の3つは動く様にしました。

{item number $ ${nl}}*5

や、他のversion7動作はまだ動きません。

@insight1111
Copy link
Author

そうなんですね!!ごめんなさい。そうとは知らずに・・・
対応、ありがとうございました。

@mattn
Copy link
Owner

mattn commented Oct 14, 2011

いえ、いずれ対応予定なので。
こちらこそありがとうございました。

@insight1111
Copy link
Author

動作確認しました。完璧です。こんなに早く修正していただけるとは思ってなかったです。
素晴らしいです。ありがとうございました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants