vim-jp / vital.vim

A comprehensive Vim utility functions for Vim plugins
574 stars 64 forks source link

Suggestion: Selecting modules that required import #667

Open tsuyoshicho opened 5 years ago

tsuyoshicho commented 5 years ago

自前開発している tsuyoshicho/vital-codec: vital module for Encode/Decode logics から、持ち込みがあったら嬉しい、というものはあるか、確認していただけると嬉しいです。

tyru commented 5 years ago

MD5, SHA1 は既存の物とどう違うんでしょうか?


個人的には基本的に外部のリポジトリでやってもらうのはご自由にという感じなので、取り込んでもらいたいという事だったら一つずつ(あるいは関連するもの)送ってもらえればと(この issue は俯瞰するために良いと思うので :ok_hand:) ただライセンスが NYSL (あるいは著作権すら放棄する様な扱い (日本では無理そうですが)) になってしまうので、そこが大丈夫かは気になります。 PR やパッチを送るという事は一般的に暗黙の了解として送った先のリポジトリのライセンスに従う、という事だとは思いますが、vital のライセンスは珍しいので。

あとそれぞれのモジュールに一行紹介みたいなのあると便利さが分かって良さそうです。

tsuyoshicho commented 5 years ago

了解です。

ライセンス

いまはCC0としているので、NYSLになっても問題ありません。

ハッシュ関数の差

MD5,SHA1ですが、

を追加しています。

function! s:_vital_created(module) abort
  let a:module.name = 'MD5'
  let a:module.hash_length = 128
endfunction

とかですね。

全般

コメントを入れるようにします。

あと、全般的に Data.List.Byte を利用するように切り替えてるところはあるので、これが移動に含まれない時はそこは別途対応が必要になったりはします(が難しいものではないです)

tsuyoshicho commented 5 years ago

あと

取り込んでもらいたいという事だったら一つずつ(あるいは関連するもの)送ってもらえればと

なんですが、量がでたことと、本家の品質維持を考えると、「送りたい」よりは「必要とされるのはContribは喜んでしたいが、必要性がないなら無理はしない」のほうがいいかな、くらいの理由です

skanehira commented 5 years ago

UUID あったら便利そうと思いました!

nekowasabi commented 5 years ago

ビジュアルモードで選択したテキストを取得できれば便利そうです!

tsuyoshicho commented 5 years ago

@nekowasabi いまのところはないですし、ちょっと作るかは分らないですが、たしかに便利そうですね

tyru commented 5 years ago

@nekowasabi normal! gv"zy ではダメですか? (@z に文字列が入ります)

tsuyoshicho commented 5 years ago

とりあえずですが、ID.UUIDとその関連をcontribするに向けて動いてみます。

nekowasabi commented 5 years ago

@tyru 紹介いただいた方法でもできるのですが、 今までは、以下のメソッドをスクリプトごとにコピペして使い回していたのが面倒と感じていました。 共通ライブラリとしてのvitalにあると、便利かなと思った次第です。 泥臭くやればなんとでもなる部分なので、あまり需要はなさそうですが…

function! s:get_visual_text()
  try
    let pos = getpos('')
    normal `<
    let start_line = line('.')
    let start_col = col('.')
    normal `>
    let end_line = line('.')
    let end_col = col('.')
    call setpos('.', pos)

    let tmp = @@
    silent normal gvy
    let selected = @@
    let @@ = tmp
    return selected
  catch
    return ''
  endtry
endfunction
tsuyoshicho commented 5 years ago

@nekowasabi さん

そいういう方向性だったら、自分でライブラリ化にチャレンジしてもいいかと思いますw

nekowasabi commented 5 years ago

@tsuyoshicho まさにそれですね。 コピペで乗り切ってきましたが、そろそろ観念のしどきかなぁという感じですw

tsuyoshicho commented 5 years ago

Vim.Type.Blob from mattnさんからそれとなく

tsuyoshicho commented 5 years ago
ID.UUID
 Data.List.Byte
  Vim.Type.Number

の依存関係

を反映