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

Support XDG base directory specification #344

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

yochem
Copy link

@yochem yochem commented Apr 11, 2022

Closes #285.

Support the XDG base directory specification by moving the following files:

$HOME/.vimgolf/config.yaml{$XDG_CONFIG_HOME OR $HOME/.config}/vimgolf/config.yaml
$HOME/.vimgolf/put/*{$XDG_CACHE_HOME OR $HOME/.cache}/vimgolf/*

It will automatically do this when the Config.load method is called. If the config in the old directory (~/.vimgolf/config.yaml) exists, grab the key from there, remove ~/.vimgolf and create the two xdg directories from above. When installing vimgolf fresh it will just make the two xdg directories and use those.

P.S. I'm not used to ruby programming, and therefor not aware of standard ruby code practices. Please let me know if some parts can be written more 'ruby-like' or in another way refactored.

P.P.S. I could also use FileUtils.rm_rf("#{ENV['HOME']}/.vimgolf"), which is less code but might be less secure (it follows symlinks).

Closes igrigorik#285.

Support the XDG base directory specification
(https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html)
by moving the following files:

$HOME/.vimgolf/config.yaml --> {$XDG_CONFIG_HOME OR $HOME/.config}/vimgolf/config.yaml
$HOME/.vimgolf/put/* --> {$XDG_CACHE_HOME OR $HOME/.cache}/vimgolf/*

If the old directory (~/.vimgolf) exists, grab the key from there,
remove ~/.vimgolf and create the two xdg directories from above.
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.

Follow XDG Base Dir Spec
1 participant