clear youcomplete me
This commit is contained in:
parent
9934cf44b2
commit
2176946197
349
Rakefile
349
Rakefile
@ -1,48 +1,59 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'rake'
|
||||
require 'fileutils'
|
||||
require File.join(File.dirname(__FILE__), 'bin', 'yadr', 'vundle')
|
||||
|
||||
def macos?
|
||||
RUBY_PLATFORM.downcase.include?("darwin")
|
||||
RUBY_PLATFORM.downcase.include?('darwin')
|
||||
end
|
||||
|
||||
def linux?
|
||||
RUBY_PLATFORM.downcase.include?("linux")
|
||||
RUBY_PLATFORM.downcase.include?('linux')
|
||||
end
|
||||
|
||||
# this has all the runcoms from this directory.
|
||||
task :link_files do
|
||||
install_files(Dir.glob('git/*')) if want_to_install?('git configs (color, aliases)')
|
||||
install_files(Dir.glob('irb/*')) if want_to_install?('irb/pry configs (more colorful)')
|
||||
install_files(Dir.glob('ruby/*')) if want_to_install?('rubygems config (faster/no docs)')
|
||||
install_files(Dir.glob('ctags/*')) if want_to_install?('ctags config (better js/ruby support)')
|
||||
if want_to_install?('git configs (color, aliases)')
|
||||
install_files(Dir.glob('git/*'))
|
||||
end
|
||||
if want_to_install?('irb/pry configs (more colorful)')
|
||||
install_files(Dir.glob('irb/*'))
|
||||
end
|
||||
if want_to_install?('rubygems config (faster/no docs)')
|
||||
install_files(Dir.glob('ruby/*'))
|
||||
end
|
||||
if want_to_install?('ctags config (better js/ruby support)')
|
||||
install_files(Dir.glob('ctags/*'))
|
||||
end
|
||||
install_files(Dir.glob('tmux/*')) if want_to_install?('tmux config')
|
||||
install_files(Dir.glob('vimify/*')) if want_to_install?('vimification of command line tools')
|
||||
run %{
|
||||
if want_to_install?('vimification of command line tools')
|
||||
install_files(Dir.glob('vimify/*'))
|
||||
end
|
||||
run %(
|
||||
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
|
||||
}
|
||||
)
|
||||
end
|
||||
|
||||
desc "Hook our dotfiles into system-standard positions."
|
||||
task :install => [:submodule_init, :submodules] do
|
||||
desc 'Hook our dotfiles into system-standard positions.'
|
||||
task install: %i[submodule_init submodules] do
|
||||
puts
|
||||
puts "======================================================"
|
||||
puts "Welcome to YADR Installation."
|
||||
puts "======================================================"
|
||||
puts '======================================================'
|
||||
puts 'Welcome to YADR Installation.'
|
||||
puts '======================================================'
|
||||
puts
|
||||
|
||||
install_homebrew if macos?
|
||||
install_rvm_binstubs
|
||||
|
||||
Rake::Task["link_files"].execute
|
||||
Rake::Task['link_files'].execute
|
||||
if want_to_install?('vim configuration (highly recommended)')
|
||||
install_files(Dir.glob('{vim,vimrc}'))
|
||||
Rake::Task["install_vundle"].execute
|
||||
Rake::Task['install_vundle'].execute
|
||||
end
|
||||
|
||||
Rake::Task["install_tools"].execute
|
||||
Rake::Task["install_ycm"].execute
|
||||
Rake::Task["install_prezto"].execute
|
||||
Rake::Task['install_tools'].execute
|
||||
Rake::Task['install_prezto'].execute
|
||||
|
||||
install_fonts
|
||||
|
||||
@ -50,123 +61,108 @@ task :install => [:submodule_init, :submodules] do
|
||||
|
||||
run_bundle_config
|
||||
|
||||
success_msg("installed")
|
||||
success_msg('installed')
|
||||
end
|
||||
|
||||
task :install_prezto do
|
||||
if want_to_install?('zsh enhancements & prezto')
|
||||
install_prezto
|
||||
end
|
||||
end
|
||||
|
||||
task :install_ycm do
|
||||
if want_to_install?('YouCompleteMe')
|
||||
run %{
|
||||
apt install cmake libpython2.7 python-dev -y
|
||||
cd $HOME/.vim/bundle/YouCompleteMe/
|
||||
git submodule update --init --recursive
|
||||
./install.py
|
||||
}
|
||||
end
|
||||
install_prezto if want_to_install?('zsh enhancements & prezto')
|
||||
end
|
||||
|
||||
desc 'Install tools which are necessary for developers'
|
||||
task :install_tools do
|
||||
if macos?
|
||||
run %{
|
||||
run %(
|
||||
brew install proxychains-ng
|
||||
}
|
||||
)
|
||||
else
|
||||
run %{
|
||||
run %(
|
||||
apt install proxychains
|
||||
}
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
desc 'Updates the installation'
|
||||
task :update do
|
||||
Rake::Task["vundle_migration"].execute if needs_migration_to_vundle?
|
||||
Rake::Task["install"].execute
|
||||
#TODO: for now, we do the same as install. But it would be nice
|
||||
#not to clobber zsh files
|
||||
Rake::Task['vundle_migration'].execute if needs_migration_to_vundle?
|
||||
Rake::Task['install'].execute
|
||||
# TODO: for now, we do the same as install. But it would be nice
|
||||
# not to clobber zsh files
|
||||
end
|
||||
|
||||
task :sync do
|
||||
vundle_path = File.join('vim','bundle', 'vundle')
|
||||
unless File.exists?(vundle_path)
|
||||
run %{
|
||||
vundle_path = File.join('vim', 'bundle', 'vundle')
|
||||
unless File.exist?(vundle_path)
|
||||
run %(
|
||||
cd $HOME/.yadr
|
||||
git clone https://github.com/gmarik/vundle.git #{vundle_path}
|
||||
}
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
task :submodule_init do
|
||||
unless ENV["SKIP_SUBMODULES"]
|
||||
run %{ git submodule update --init --recursive }
|
||||
end
|
||||
run %( git submodule update --init --recursive ) unless ENV['SKIP_SUBMODULES']
|
||||
end
|
||||
|
||||
desc "Init and update submodules."
|
||||
desc 'Init and update submodules.'
|
||||
task :submodules do
|
||||
unless ENV["SKIP_SUBMODULES"]
|
||||
puts "======================================================"
|
||||
puts "Downloading YADR submodules...please wait"
|
||||
puts "======================================================"
|
||||
unless ENV['SKIP_SUBMODULES']
|
||||
puts '======================================================'
|
||||
puts 'Downloading YADR submodules...please wait'
|
||||
puts '======================================================'
|
||||
|
||||
run %{
|
||||
run %(
|
||||
cd $HOME/.yadr
|
||||
git submodule update --recursive
|
||||
git clean -df
|
||||
}
|
||||
)
|
||||
puts
|
||||
end
|
||||
end
|
||||
|
||||
desc "Performs migration from pathogen to vundle"
|
||||
desc 'Performs migration from pathogen to vundle'
|
||||
task :vundle_migration do
|
||||
puts "======================================================"
|
||||
puts "Migrating from pathogen to vundle vim plugin manager. "
|
||||
puts "This will move the old .vim/bundle directory to"
|
||||
puts ".vim/bundle.old and replacing all your vim plugins with"
|
||||
puts "the standard set of plugins. You will then be able to "
|
||||
puts '======================================================'
|
||||
puts 'Migrating from pathogen to vundle vim plugin manager. '
|
||||
puts 'This will move the old .vim/bundle directory to'
|
||||
puts '.vim/bundle.old and replacing all your vim plugins with'
|
||||
puts 'the standard set of plugins. You will then be able to '
|
||||
puts "manage your vim's plugin configuration by editing the "
|
||||
puts "file .vim/vundles.vim"
|
||||
puts "======================================================"
|
||||
puts 'file .vim/vundles.vim'
|
||||
puts '======================================================'
|
||||
|
||||
Dir.glob(File.join('vim', 'bundle','**')) do |sub_path|
|
||||
run %{git config -f #{File.join('.git', 'config')} --remove-section submodule.#{sub_path}}
|
||||
Dir.glob(File.join('vim', 'bundle', '**')) do |sub_path|
|
||||
run %(git config -f #{File.join('.git', 'config')} --remove-section submodule.#{sub_path})
|
||||
# `git rm --cached #{sub_path}`
|
||||
FileUtils.rm_rf(File.join('.git', 'modules', sub_path))
|
||||
end
|
||||
FileUtils.mv(File.join('vim','bundle'), File.join('vim', 'bundle.old'))
|
||||
FileUtils.mv(File.join('vim', 'bundle'), File.join('vim', 'bundle.old'))
|
||||
end
|
||||
|
||||
desc "Runs Vundle installer in a clean vim environment"
|
||||
desc 'Runs Vundle installer in a clean vim environment'
|
||||
task :install_vundle do
|
||||
puts "======================================================"
|
||||
puts "Installing and updating vundles."
|
||||
puts "The installer will now proceed to run PluginInstall to install vundles."
|
||||
puts "======================================================"
|
||||
puts '======================================================'
|
||||
puts 'Installing and updating vundles.'
|
||||
puts 'The installer will now proceed to run PluginInstall to install vundles.'
|
||||
puts '======================================================'
|
||||
|
||||
puts ""
|
||||
puts ''
|
||||
|
||||
vundle_path = File.join('vim','bundle', 'vundle')
|
||||
unless File.exists?(vundle_path)
|
||||
run %{
|
||||
vundle_path = File.join('vim', 'bundle', 'vundle')
|
||||
unless File.exist?(vundle_path)
|
||||
run %(
|
||||
cd $HOME/.yadr
|
||||
git clone https://github.com/gmarik/vundle.git #{vundle_path}
|
||||
}
|
||||
)
|
||||
end
|
||||
|
||||
Vundle::update_vundle
|
||||
Vundle.update_vundle
|
||||
end
|
||||
|
||||
task :plugin_sync do
|
||||
Vundle::plugin_sync
|
||||
Vundle.plugin_sync
|
||||
end
|
||||
|
||||
task :default => 'install'
|
||||
task default: 'install'
|
||||
|
||||
private
|
||||
def run(cmd)
|
||||
@ -175,93 +171,95 @@ def run(cmd)
|
||||
end
|
||||
|
||||
def number_of_cores
|
||||
if macos?
|
||||
cores = run %{ sysctl -n hw.ncpu }
|
||||
cores = if macos?
|
||||
run %( sysctl -n hw.ncpu )
|
||||
else
|
||||
cores = run %{ nproc }
|
||||
run %( nproc )
|
||||
end
|
||||
puts
|
||||
cores.to_i
|
||||
end
|
||||
|
||||
def run_bundle_config
|
||||
return unless system("which bundle")
|
||||
return unless system('which bundle')
|
||||
|
||||
bundler_jobs = number_of_cores - 1
|
||||
puts "======================================================"
|
||||
puts "Configuring Bundlers for parallel gem installation"
|
||||
puts "======================================================"
|
||||
run %{ bundle config --global jobs #{bundler_jobs} }
|
||||
puts '======================================================'
|
||||
puts 'Configuring Bundlers for parallel gem installation'
|
||||
puts '======================================================'
|
||||
run %( bundle config --global jobs #{bundler_jobs} )
|
||||
puts
|
||||
end
|
||||
|
||||
def install_rvm_binstubs
|
||||
puts "======================================================"
|
||||
puts "Installing RVM Bundler support. Never have to type"
|
||||
puts "bundle exec again! Please use bundle --binstubs and RVM"
|
||||
puts '======================================================'
|
||||
puts 'Installing RVM Bundler support. Never have to type'
|
||||
puts 'bundle exec again! Please use bundle --binstubs and RVM'
|
||||
puts "will automatically use those bins after cd'ing into dir."
|
||||
puts "======================================================"
|
||||
run %{ chmod +x $rvm_path/hooks/after_cd_bundler }
|
||||
puts '======================================================'
|
||||
run %( chmod +x $rvm_path/hooks/after_cd_bundler )
|
||||
puts
|
||||
end
|
||||
|
||||
def install_homebrew
|
||||
run %{which brew}
|
||||
unless $?.success?
|
||||
puts "======================================================"
|
||||
run %(which brew)
|
||||
unless $CHILD_STATUS.success?
|
||||
puts '======================================================'
|
||||
puts "Installing Homebrew, the OSX package manager...If it's"
|
||||
puts "already installed, this will do nothing."
|
||||
puts "======================================================"
|
||||
puts 'already installed, this will do nothing.'
|
||||
puts '======================================================'
|
||||
run %{ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"}
|
||||
end
|
||||
|
||||
puts
|
||||
puts
|
||||
puts "======================================================"
|
||||
puts "Updating Homebrew."
|
||||
puts "======================================================"
|
||||
run %{brew update}
|
||||
puts '======================================================'
|
||||
puts 'Updating Homebrew.'
|
||||
puts '======================================================'
|
||||
run %(brew update)
|
||||
puts
|
||||
puts
|
||||
puts "======================================================"
|
||||
puts "Installing Homebrew packages...There may be some warnings."
|
||||
puts "======================================================"
|
||||
run %{brew install zsh ctags git hub tmux reattach-to-user-namespace ripgrep ghi}
|
||||
run %{brew install macvim --with-override-system-vim --with-lua --with-luajit}
|
||||
puts '======================================================'
|
||||
puts 'Installing Homebrew packages...There may be some warnings.'
|
||||
puts '======================================================'
|
||||
run %(brew install zsh ctags git hub tmux reattach-to-user-namespace ripgrep ghi)
|
||||
run %(brew install macvim --with-override-system-vim --with-lua --with-luajit)
|
||||
puts
|
||||
puts
|
||||
end
|
||||
|
||||
def install_fonts
|
||||
puts "======================================================"
|
||||
puts "Installing patched fonts for Powerline/Lightline."
|
||||
puts "======================================================"
|
||||
run %{ cp -f $HOME/.yadr/fonts/* $HOME/Library/Fonts } if macos?
|
||||
run %{ mkdir -p ~/.fonts && cp ~/.yadr/fonts/* ~/.fonts && fc-cache -vf ~/.fonts } if linux?
|
||||
puts '======================================================'
|
||||
puts 'Installing patched fonts for Powerline/Lightline.'
|
||||
puts '======================================================'
|
||||
run %( cp -f $HOME/.yadr/fonts/* $HOME/Library/Fonts ) if macos?
|
||||
if linux?
|
||||
run %( mkdir -p ~/.fonts && cp ~/.yadr/fonts/* ~/.fonts && fc-cache -vf ~/.fonts )
|
||||
end
|
||||
puts
|
||||
end
|
||||
|
||||
def install_term_theme
|
||||
puts "======================================================"
|
||||
puts "Installing iTerm2 solarized theme."
|
||||
puts "======================================================"
|
||||
run %{ /usr/libexec/PlistBuddy -c "Add :'Custom Color Presets':'Solarized Light' dict" ~/Library/Preferences/com.googlecode.iterm2.plist }
|
||||
run %{ /usr/libexec/PlistBuddy -c "Merge 'iTerm2/Solarized Light.itermcolors' :'Custom Color Presets':'Solarized Light'" ~/Library/Preferences/com.googlecode.iterm2.plist }
|
||||
run %{ /usr/libexec/PlistBuddy -c "Add :'Custom Color Presets':'Solarized Dark' dict" ~/Library/Preferences/com.googlecode.iterm2.plist }
|
||||
run %{ /usr/libexec/PlistBuddy -c "Merge 'iTerm2/Solarized Dark.itermcolors' :'Custom Color Presets':'Solarized Dark'" ~/Library/Preferences/com.googlecode.iterm2.plist }
|
||||
puts '======================================================'
|
||||
puts 'Installing iTerm2 solarized theme.'
|
||||
puts '======================================================'
|
||||
run %( /usr/libexec/PlistBuddy -c "Add :'Custom Color Presets':'Solarized Light' dict" ~/Library/Preferences/com.googlecode.iterm2.plist )
|
||||
run %( /usr/libexec/PlistBuddy -c "Merge 'iTerm2/Solarized Light.itermcolors' :'Custom Color Presets':'Solarized Light'" ~/Library/Preferences/com.googlecode.iterm2.plist )
|
||||
run %( /usr/libexec/PlistBuddy -c "Add :'Custom Color Presets':'Solarized Dark' dict" ~/Library/Preferences/com.googlecode.iterm2.plist )
|
||||
run %( /usr/libexec/PlistBuddy -c "Merge 'iTerm2/Solarized Dark.itermcolors' :'Custom Color Presets':'Solarized Dark'" ~/Library/Preferences/com.googlecode.iterm2.plist )
|
||||
|
||||
# If iTerm2 is not installed or has never run, we can't autoinstall the profile since the plist is not there
|
||||
if !File.exists?(File.join(ENV['HOME'], '/Library/Preferences/com.googlecode.iterm2.plist'))
|
||||
puts "======================================================"
|
||||
puts "To make sure your profile is using the solarized theme"
|
||||
puts "Please check your settings under:"
|
||||
puts "Preferences> Profiles> [your profile]> Colors> Load Preset.."
|
||||
puts "======================================================"
|
||||
unless File.exist?(File.join(ENV['HOME'], '/Library/Preferences/com.googlecode.iterm2.plist'))
|
||||
puts '======================================================'
|
||||
puts 'To make sure your profile is using the solarized theme'
|
||||
puts 'Please check your settings under:'
|
||||
puts 'Preferences> Profiles> [your profile]> Colors> Load Preset..'
|
||||
puts '======================================================'
|
||||
return
|
||||
end
|
||||
|
||||
# Ask the user which theme he wants to install
|
||||
message = "Which theme would you like to apply to your iTerm2 profile?"
|
||||
message = 'Which theme would you like to apply to your iTerm2 profile?'
|
||||
color_scheme = ask message, iTerm_available_themes
|
||||
|
||||
return if color_scheme == 'None'
|
||||
@ -270,26 +268,26 @@ def install_term_theme
|
||||
|
||||
# Ask the user on which profile he wants to install the theme
|
||||
profiles = iTerm_profile_list
|
||||
message = "I've found #{profiles.size} #{profiles.size>1 ? 'profiles': 'profile'} on your iTerm2 configuration, which one would you like to apply the Solarized theme to?"
|
||||
message = "I've found #{profiles.size} #{profiles.size > 1 ? 'profiles' : 'profile'} on your iTerm2 configuration, which one would you like to apply the Solarized theme to?"
|
||||
profiles << 'All'
|
||||
selected = ask message, profiles
|
||||
|
||||
if selected == 'All'
|
||||
(profiles.size-1).times { |idx| apply_theme_to_iterm_profile_idx idx, color_scheme_file }
|
||||
(profiles.size - 1).times { |idx| apply_theme_to_iterm_profile_idx idx, color_scheme_file }
|
||||
else
|
||||
apply_theme_to_iterm_profile_idx profiles.index(selected), color_scheme_file
|
||||
end
|
||||
end
|
||||
|
||||
def iTerm_available_themes
|
||||
Dir['iTerm2/*.itermcolors'].map { |value| File.basename(value, '.itermcolors')} << 'None'
|
||||
Dir['iTerm2/*.itermcolors'].map { |value| File.basename(value, '.itermcolors') } << 'None'
|
||||
end
|
||||
|
||||
def iTerm_profile_list
|
||||
profiles=Array.new
|
||||
profiles = []
|
||||
begin
|
||||
profiles << %x{ /usr/libexec/PlistBuddy -c "Print :'New Bookmarks':#{profiles.size}:Name" ~/Library/Preferences/com.googlecode.iterm2.plist 2>/dev/null}
|
||||
end while $?.exitstatus==0
|
||||
profiles << `/usr/libexec/PlistBuddy -c "Print :'New Bookmarks':#{profiles.size}:Name" ~/Library/Preferences/com.googlecode.iterm2.plist 2>/dev/null`
|
||||
end while $CHILD_STATUS.exitstatus == 0
|
||||
profiles.pop
|
||||
profiles
|
||||
end
|
||||
@ -297,23 +295,27 @@ end
|
||||
def ask(message, values)
|
||||
puts message
|
||||
while true
|
||||
values.each_with_index { |val, idx| puts " #{idx+1}. #{val}" }
|
||||
values.each_with_index { |val, idx| puts " #{idx + 1}. #{val}" }
|
||||
selection = STDIN.gets.chomp
|
||||
if (Float(selection)==nil rescue true) || selection.to_i < 0 || selection.to_i > values.size+1
|
||||
if (begin
|
||||
Float(selection).nil?
|
||||
rescue StandardError
|
||||
true
|
||||
end) || selection.to_i < 0 || selection.to_i > values.size + 1
|
||||
puts "ERROR: Invalid selection.\n\n"
|
||||
else
|
||||
break
|
||||
end
|
||||
end
|
||||
selection = selection.to_i-1
|
||||
selection = selection.to_i - 1
|
||||
values[selection]
|
||||
end
|
||||
|
||||
def install_prezto
|
||||
puts
|
||||
puts "Installing Prezto (ZSH Enhancements)..."
|
||||
puts 'Installing Prezto (ZSH Enhancements)...'
|
||||
|
||||
run %{ ln -nfs "$HOME/.yadr/zsh/prezto" "${ZDOTDIR:-$HOME}/.zprezto" }
|
||||
run %( ln -nfs "$HOME/.yadr/zsh/prezto" "${ZDOTDIR:-$HOME}/.zprezto" )
|
||||
|
||||
# The prezto runcoms are only going to be installed if zprezto has never been installed
|
||||
install_files(Dir.glob('zsh/prezto/runcoms/z*'), :symlink)
|
||||
@ -323,29 +325,29 @@ def install_prezto
|
||||
install_files(Dir.glob('zsh/prezto-override/z*'), :symlink)
|
||||
|
||||
puts
|
||||
puts "Creating directories for your customizations"
|
||||
run %{ mkdir -p $HOME/.zsh.before }
|
||||
run %{ mkdir -p $HOME/.zsh.after }
|
||||
run %{ mkdir -p $HOME/.zsh.prompts }
|
||||
puts 'Creating directories for your customizations'
|
||||
run %( mkdir -p $HOME/.zsh.before )
|
||||
run %( mkdir -p $HOME/.zsh.after )
|
||||
run %( mkdir -p $HOME/.zsh.prompts )
|
||||
|
||||
if "#{ENV['SHELL']}".include? 'zsh' then
|
||||
puts "Zsh is already configured as your shell of choice. Restart your session to load the new settings"
|
||||
if (ENV['SHELL']).to_s.include? 'zsh'
|
||||
puts 'Zsh is already configured as your shell of choice. Restart your session to load the new settings'
|
||||
else
|
||||
puts "Setting zsh as your default shell"
|
||||
if File.exists?("/usr/local/bin/zsh")
|
||||
if File.readlines("/private/etc/shells").grep("/usr/local/bin/zsh").empty?
|
||||
puts "Adding zsh to standard shell list"
|
||||
run %{ echo "/usr/local/bin/zsh" | sudo tee -a /private/etc/shells }
|
||||
puts 'Setting zsh as your default shell'
|
||||
if File.exist?('/usr/local/bin/zsh')
|
||||
if File.readlines('/private/etc/shells').grep('/usr/local/bin/zsh').empty?
|
||||
puts 'Adding zsh to standard shell list'
|
||||
run %( echo "/usr/local/bin/zsh" | sudo tee -a /private/etc/shells )
|
||||
end
|
||||
run %{ chsh -s /usr/local/bin/zsh }
|
||||
run %( chsh -s /usr/local/bin/zsh )
|
||||
else
|
||||
run %{ chsh -s /bin/zsh }
|
||||
run %( chsh -s /bin/zsh )
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def want_to_install? (section)
|
||||
if ENV["ASK"]=="true"
|
||||
def want_to_install?(section)
|
||||
if ENV['ASK'] == 'true'
|
||||
puts "Would you like to install configuration files for: #{section}? [y]es, [n]o"
|
||||
STDIN.gets.chomp == 'y'
|
||||
else
|
||||
@ -356,28 +358,28 @@ end
|
||||
def install_files(files, method = :symlink)
|
||||
files.each do |f|
|
||||
file = f.split('/').last
|
||||
source = "#{ENV["PWD"]}/#{f}"
|
||||
target = "#{ENV["HOME"]}/.#{file}"
|
||||
source = "#{ENV['PWD']}/#{f}"
|
||||
target = "#{ENV['HOME']}/.#{file}"
|
||||
|
||||
puts "======================#{file}=============================="
|
||||
puts "Source: #{source}"
|
||||
puts "Target: #{target}"
|
||||
|
||||
if File.exists?(target) && (!File.symlink?(target) || (File.symlink?(target) && File.readlink(target) != source))
|
||||
if File.exist?(target) && (!File.symlink?(target) || (File.symlink?(target) && File.readlink(target) != source))
|
||||
puts "[Overwriting] #{target}...leaving original at #{target}.backup..."
|
||||
run %{ mv "$HOME/.#{file}" "$HOME/.#{file}.backup" }
|
||||
run %( mv "$HOME/.#{file}" "$HOME/.#{file}.backup" )
|
||||
end
|
||||
|
||||
if method == :symlink
|
||||
run %{ ln -nfs "#{source}" "#{target}" }
|
||||
run %( ln -nfs "#{source}" "#{target}" )
|
||||
else
|
||||
run %{ cp -f "#{source}" "#{target}" }
|
||||
run %( cp -f "#{source}" "#{target}" )
|
||||
end
|
||||
|
||||
# Temporary solution until we find a way to allow customization
|
||||
# This modifies zshrc to load all of yadr's zsh extensions.
|
||||
# Eventually yadr's zsh extensions should be ported to prezto modules.
|
||||
source_config_code = "for config_file ($HOME/.yadr/zsh/*.zsh) source $config_file"
|
||||
source_config_code = 'for config_file ($HOME/.yadr/zsh/*.zsh) source $config_file'
|
||||
if file == 'zshrc'
|
||||
File.open(target, 'a+') do |zshrc|
|
||||
if zshrc.readlines.grep(/#{Regexp.escape(source_config_code)}/).empty?
|
||||
@ -386,39 +388,38 @@ def install_files(files, method = :symlink)
|
||||
end
|
||||
end
|
||||
|
||||
puts "=========================================================="
|
||||
puts '=========================================================='
|
||||
puts
|
||||
end
|
||||
end
|
||||
|
||||
def needs_migration_to_vundle?
|
||||
File.exists? File.join('vim', 'bundle', 'tpope-vim-pathogen')
|
||||
File.exist? File.join('vim', 'bundle', 'tpope-vim-pathogen')
|
||||
end
|
||||
|
||||
|
||||
def list_vim_submodules
|
||||
result=`git submodule -q foreach 'echo $name"||"\`git remote -v | awk "END{print \\\\\$2}"\`'`.select{ |line| line =~ /^vim.bundle/ }.map{ |line| line.split('||') }
|
||||
result = `git submodule -q foreach 'echo $name"||"\`git remote -v | awk "END{print \\\\\$2}"\`'`.select { |line| line =~ /^vim.bundle/ }.map { |line| line.split('||') }
|
||||
Hash[*result.flatten]
|
||||
end
|
||||
|
||||
def apply_theme_to_iterm_profile_idx(index, color_scheme_path)
|
||||
values = Array.new
|
||||
values = []
|
||||
16.times { |i| values << "Ansi #{i} Color" }
|
||||
values << ['Background Color', 'Bold Color', 'Cursor Color', 'Cursor Text Color', 'Foreground Color', 'Selected Text Color', 'Selection Color']
|
||||
values.flatten.each { |entry| run %{ /usr/libexec/PlistBuddy -c "Delete :'New Bookmarks':#{index}:'#{entry}'" ~/Library/Preferences/com.googlecode.iterm2.plist } }
|
||||
values.flatten.each { |entry| run %( /usr/libexec/PlistBuddy -c "Delete :'New Bookmarks':#{index}:'#{entry}'" ~/Library/Preferences/com.googlecode.iterm2.plist ) }
|
||||
|
||||
run %{ /usr/libexec/PlistBuddy -c "Merge '#{color_scheme_path}' :'New Bookmarks':#{index}" ~/Library/Preferences/com.googlecode.iterm2.plist }
|
||||
run %{ defaults read com.googlecode.iterm2 }
|
||||
run %( /usr/libexec/PlistBuddy -c "Merge '#{color_scheme_path}' :'New Bookmarks':#{index}" ~/Library/Preferences/com.googlecode.iterm2.plist )
|
||||
run %( defaults read com.googlecode.iterm2 )
|
||||
end
|
||||
|
||||
def success_msg(action)
|
||||
puts ""
|
||||
puts " _ _ _ "
|
||||
puts " | | | | | | "
|
||||
puts " | |___| |_____ __| | ____ "
|
||||
puts " |_____ (____ |/ _ |/ ___) "
|
||||
puts " _____| / ___ ( (_| | | "
|
||||
puts ''
|
||||
puts ' _ _ _ '
|
||||
puts ' | | | | | | '
|
||||
puts ' | |___| |_____ __| | ____ '
|
||||
puts ' |_____ (____ |/ _ |/ ___) '
|
||||
puts ' _____| / ___ ( (_| | | '
|
||||
puts " (_______\_____|\____|_| "
|
||||
puts ""
|
||||
puts ''
|
||||
puts "YADR has been #{action}. Please restart your terminal and vim."
|
||||
end
|
||||
|
@ -5,4 +5,3 @@ Bundle 'JazzCore/ctrlp-cmatcher'
|
||||
Bundle 'junegunn/fzf'
|
||||
Bundle "xolox/vim-misc"
|
||||
Bundle "xolox/vim-session"
|
||||
Bundle "ycm-core/YouCompleteMe"
|
||||
|
Loading…
Reference in New Issue
Block a user