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

機能追加: デフォルトハッシュタグを追加する #74

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

Cj-bc
Copy link

@Cj-bc Cj-bc commented Jun 2, 2019

概要

設定している間に呟かれた全てのツイートに、自動的にハッシュタグ(デフォルトハッシュタグ)をつけて投稿する機能です。
デフォルトハッシュタグとして登録されたハッシュタグはツイートする際に明示されるため、「うっかりハッシュタグ付きでツイートしてしまった」事態は防げます。(詳しくは後述)

動機

LTやYoutubeライブなどの専用のハッシュタグを使うイベントの際、毎回ハッシュタグ手打ちしてツイートするのは面倒だし、コピペも間違えやすい。
そこで、「じゃあデフォルトで追加してくれればいいじゃん」ということで実装した機能です。

具体的な仕様

追加したもの

追加されたのは一つのコマンドと一つのオプションです。

  • :TweetVimDefaultHashtag
  • g:tweetvim_default_hashtag

:TweetVimDefaultHashtag

このコマンドを使用してデフォルトハッシュタグの設定を行います。
(中身はg:tweetvim_default_hashtagをいじっているだけなので直接手で行うことも可能です。)

:TweetVimDefaultHashtag #tweetvim
" '#tweetvim' というハッシュタグをデフォルトハッシュタグとして設定する
:TweetVimDefaultHashtag #tweetvim #vim
" 複数のハッシュタグを設定することも可能です
:TweetVimDefaultHashtag
:TweetVimDefaultHashtag Reset
" 上記二通りの方法でデフォルトハッシュタグを削除できます
" 具体的には、`g:tweetvim_default_hashtag = ''`となります

また、コマンドライン補完としてtweetvim#complete#default_hashtag()を追加しました。
これにより、引数をResetおよびキャッシュされたハッシュタグ名から補完可能です。

g:tweetvim_default_hashtag

デフォルトハッシュタグとして使用する文字列が格納されます。
空の文字列の場合、デフォルトハッシュタグはツイートに一切追加されません。
また、デフォルトでは空(=何も追加されない)です。

変更したもの

tweetvim#say#command

tweetvim#say#commandで表示されるプロンプト(tweet:)を変更しました。

  • 通常時(デフォルトハッシュタグなし): tweet: (変更なし)
  • デフォルトハッシュタグ付き(#tweetvim#vimを設定したとすると): tweet(#tweetvim #vim):

これにより、デフォルトハッシュタグの存在を忘れてツイートされることがなくなります。
ちなみに、s:post_tweetに内容を渡す前に追加しているため、文字数超過にも気づけます。

tweetvim#say#open

デフォルトハッシュタグがある場合、バッファの先頭に挿入します。
tweetvim#say#openに引数としてテキストが渡されている場合、そのテキストの後ろに追加します。


追記

途中でg:tweetvim_footerの存在に気づいたのですが、使おうとしたところうまく動かなかったこと、TweetVimCommandSayから使いたかったことなどから新しく作りました。

Cj-bc added 4 commits June 2, 2019 15:53
This command let you set/unset 'default hashtag', which is 'g:tweetvim_default_hashtag'.
It can take several hashtags at once.
When 'g:tweetvim_default_hashtag' == '', no difference are there.

Usage:
  Set hashtag
          :TweetVimDefaultHashtag <hashtag> <hashtag> ...
  Unset hashtag
          :TweetVimDefaultHashtag Reset
          :TweetVimDefaultHashtag

Completion:
  Completion for this command is done by
          tweetvim#complete#default_hashtag()
  This will suggest:
          - 'Reset' for unset
          - hashtags that was cached.
            (tweetvim#cache#get('hash_tag'))

Discuss:
  Is it better to insert '#'?

  For now, user should type including '#' to specify tag.
  It's enough for me though, it could let we insert other words.
  Is it good idea? Should I fix that 'problem'?
@basyura
Copy link
Owner

basyura commented Jun 8, 2019

MR ありがとうございます。

g:tweetvim_footer と機能が重複しているので、
こちらのデフォルト設定を変えられるコマンドにしつつ
TweetVimCommandSay からも使えるようにする方が良いのではないかと思いますが
どうでしょうか?

@Cj-bc
Copy link
Author

Cj-bc commented Jun 8, 2019

対応ありがとうございます

その方が良いですね!
現状、コードいじってみたりしてもtweetvim_footerの方がどうしてもうまく動かずにこのPRを作成したのですが、もうちょいいじってみます

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

Successfully merging this pull request may close these issues.

2 participants