sky-color-clock.vim icon indicating copy to clipboard operation
sky-color-clock.vim copied to clipboard

RFC : OpenWeatherMapを利用した精密な緯度

Open tsuyoshicho opened this issue 6 years ago • 0 comments

次のようなカンジでセットアップ時のヘルパー関数を用意できたら嬉しいのではないかと思います。

要は、OpenWeatherMapを利用することでlatitude(緯度)を高精度かつ自動で設定し、color_stopをそれに合せられたら、というものです。

" autoload/sky-color-clock.vim
function! sky_color_clock#update_from_owm() abort
  if !empty(g:sky_color_clock#openweathermap_api_key)
    try
      let weather_res = s:get_current_weather_info()
      if type(weather_res) == v:t_string
        let weather_dict = eval(weather_res)
        let lat = weather_dict.city.coord.lat

        let g:sky_color_clock#latitude = lat
        " let g:sky_color_clock#color_stops = s:default_color_stops(localtime())
      endif
    catch /.*/
    endtry
  endif
endfunction

default_color_stopsがplugin/sky-color-clock.vimに入っていることなどもあり、微妙なのですが...

APIを使う関係もあり、プラグインのロード後の追加セットアップみたいなことをしないといけなくなる気もしますが...(あるいは、s:get_current_weather_info()をplugin側にもっていくか)

あったらいいなー、程度ですが。 とりあえず自分で実現できない、ボチボチがんばってみます、が良い方法などあればと思いIssueとして上げておきます。

tsuyoshicho avatar Jun 21 '18 14:06 tsuyoshicho