summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyrylo Silin <silin@kyrylo.org>2018-10-10 13:38:40 +0800
committerGitHub <noreply@github.com>2018-10-10 13:38:40 +0800
commitd284dfbab85e8c64c1bcf75c7a0c314a6ef51b49 (patch)
tree6c13e6332542d6ce2c3249de94affec6b07df48e
parent528ff64806b0b55d85c8b47f3ab58c1e8c1d1499 (diff)
parenta0be0cc7b2070edff61c0c7f10fa37fce9b730bd (diff)
downloadpry-d284dfbab85e8c64c1bcf75c7a0c314a6ef51b49.tar.gz
Merge pull request #1609 from franklinyu/feat/config-file-path
Find configuration file in XDG Base Directory
-rw-r--r--lib/pry/pry_class.rb13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/pry/pry_class.rb b/lib/pry/pry_class.rb
index 6b8d5f9d..985eead1 100644
--- a/lib/pry/pry_class.rb
+++ b/lib/pry/pry_class.rb
@@ -1,7 +1,18 @@
require 'pry/config'
class Pry
- HOME_RC_FILE = ENV["PRYRC"] || "~/.pryrc"
+ HOME_RC_FILE =
+ if ENV.key?('PRYRC')
+ ENV['PRYRC']
+ elsif File.exist?(File.expand_path('~/.pryrc'))
+ '~/.pryrc'
+ elsif ENV.key?('XDG_CONFIG_HOME') && ENV['XDG_CONFIG_HOME'] != ''
+ # See XDG Base Directory Specification at
+ # https://standards.freedesktop.org/basedir-spec/basedir-spec-0.8.html
+ ENV['XDG_CONFIG_HOME'] + '/pry/pryrc'
+ else
+ '~/.config/pry/config'
+ end
LOCAL_RC_FILE = "./.pryrc"
class << self