Skip to content

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

Open
Cj-bc wants to merge 4 commits into
basyura:masterfrom
Cj-bc:feature/add-default-hashtag
Open

機能追加: デフォルトハッシュタグを追加する#74
Cj-bc wants to merge 4 commits into
basyura:masterfrom
Cj-bc:feature/add-default-hashtag

Conversation

@Cj-bc

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

Copy link
Copy Markdown

概要

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

動機

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

basyura commented Jun 8, 2019

Copy link
Copy Markdown
Owner

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

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

@Cj-bc

Cj-bc commented Jun 8, 2019

Copy link
Copy Markdown
Author

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

その方が良いですね!
現状、コードいじってみたりしても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