from invoke import task

from datetime import datetime as dt
import os
import platform


HOME = os.path.expanduser('~')

CONFIG = f"{HOME}/.config/nvim"

HOME = os.path.expanduser('~')
TODAY = dt.now().strftime('%Y.%m.%d')

def browse(c, url):
    c.run(f"librefox {url}")


@task
def install(c):
    browse(c, 'https://github.com/neovim/neovim/releases')
    input('Downloaded?')
    c.run(f'tar xzvf {HOME}/Downloads/nvim-linux-x86_64.tar.gz -C {HOME}/bin/')
    c.run(f'ln -s {HOME}/bin/nvim-linux-x86_64/bin/nvim {HOME}/bin')
    c.run(f'ls -al {HOME}/bin | grep nvim')

@task
def fixup(c):
    '''Quick commands here fix a missed step'''
    pass


@task
def link(c):
    print("Before")
    c.run(f"ls -al {config_dir}")
    c.run(f"ln -s {HOME}/dotfiles/files/neovim/init.lua {config_dir}/init.lua")
    print("After")
    c.run(f"ls -al {config_dir}")

@task
def lazy(c):
    c.run(f'mv {CONFIG} {CONFIG}.{TODAY}.bak')
    c.run(f'git clone https://github.com/LazyVim/starter ~/.config/nvim')
    c.run(f'rm -rf ~/.config/nvim/.git')

@task
def status(c):
    result = c.run('which nvim')
    print(f"Nvim installed? {result.ok}")

    print(f"Config dir is {config_dir}")
    c.run(f"ls {config_dir}")


