Skip to content

Commit 8f3eeff

Browse files
committed
update
1 parent 75ad7d9 commit 8f3eeff

32 files changed

+849
-90
lines changed

.editorconfig

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[*]
2+
line_length = 80

README.markdown

+10-39
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,16 @@
1-
# Neovim Configuration
1+
# NeoVim Configuration
22

33
![My daily view.](./snapshot.png)
44

5-
This repository contains my setup for [Neovim][] and other Vim related
6-
projects like [Vimperator][] and [IdeaVIM][]. I've decided to move my development
7-
environment over to Neovim after reading [Greer's post][1] on the matter. This
8-
comes souped up with close to 80 (or more plugins) to enhance my development
9-
experience with a very short start time (~11ms on my [laptop][]). Whenever
10-
I make some changes, I update my [`startuptime.txt`](./startuptime.txt) file for
11-
reference.
5+
This repository contains the source code for my use of [NeoVim][]. I conventionally use the latest stable release of NeoVim
6+
on my [personal laptop][1]. The configuration is tweaked about bi-monthly with the following concerns in mind:
127

13-
I'm just going to make this simple little change for the lulz.
8+
* *Relevancy*: Plug-ins used should be up-to-date and work together out of the box (or loose coupling)
9+
* *Intuitive*: Using the editor should be more than using your system's plain text editor but a bit less than an IDE.
10+
* *Adaptive*: Load things when you need them and only then.
1411

15-
## Plugin Manager
16-
The plugins I use are fetched by [vim-plug][]. This repository contains a setup
17-
script to ensure that Neovim is ready to roll with all of the expected plugins
18-
and dependencies intact.
12+
I keep a list of the plugins I use in the [snapshot file][2] for reproducible installs across machines.
1913

20-
## Using This Project
21-
This repository is set up using [homesick][]. I recommend using that to easily
22-
clone and get these options up and running. From there, you'll need to install
23-
a few dependencies for this project. Run `neovim-install-dependencies` to get
24-
that setup. It'll add the Python virtual environments, expected Node packages,
25-
Ruby gems, Perl packages and a Rust component.
26-
27-
When it comes to _really_ using this setup, I strongly recommend checking
28-
the source code. Send an issue or email if something doesn't make sense.
29-
30-
### Support and Contributions
31-
32-
I've noticed that people have taken a lean to use this configuration. I find
33-
that *super dope*! The thing is, I'm not going to fix issues that you might find
34-
while using this setup because I largely host it on Github for syndication
35-
across the multiple machines I work on (even the ephemeral ones). If I like your
36-
patch and it improves _my_ personal workflow as well, then I'll gladly accept
37-
it!
38-
39-
[homesick]: https://github.com/technicalpickles/homesick
40-
[laptop]: https://jacky.wtf/gear/#laptop
41-
[neovim]: https://neovim.io
42-
[vim-plug]: https://github.com/junegunn/vim-plug
43-
[Vimperator]: http://vimperator.org/vimperator.html
44-
[IdeaVIM]: https://github.com/JetBrains/ideavim
45-
[1]: http://geoff.greer.fm/2015/01/15/why-neovim-is-better-than-vim/
14+
[neovim]: http://neovim.io/
15+
[1]: https://jacky.wtf/gear/#laptop
16+
[2]: ./home/.config/nvim/snapshot.vim

home/.config/nvim/Gemfile

+1
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ gem 'ripper-tags'
1212
gem 'language_server'
1313
gem 'reek'
1414
gem 'git-cop'
15+
gem 'mdl'

home/.config/nvim/Gemfile.lock

+11-1
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,18 @@ GEM
2222
runcom (~> 1.3)
2323
thor (~> 0.20)
2424
ice_nine (0.11.2)
25+
kramdown (1.17.0)
2526
language_server (0.6.0)
2627
language_server-protocol (= 0.3.0)
2728
rcodetools
2829
language_server-protocol (0.3.0)
30+
mdl (0.5.0)
31+
kramdown (~> 1.12, >= 1.12.0)
32+
mixlib-cli (~> 1.7, >= 1.7.0)
33+
mixlib-config (~> 2.2, >= 2.2.1)
34+
mixlib-cli (1.7.0)
35+
mixlib-config (2.2.13)
36+
tomlrb
2937
msgpack (1.1.0)
3038
neovim (0.5.1)
3139
msgpack (~> 1.0)
@@ -59,6 +67,7 @@ GEM
5967
refinements (~> 4.2)
6068
thor (0.20.0)
6169
thread_safe (0.3.6)
70+
tomlrb (1.2.7)
6271
tty-color (0.4.2)
6372
unicode-display_width (1.3.0)
6473
virtus (1.0.5)
@@ -75,6 +84,7 @@ DEPENDENCIES
7584
fastri
7685
git-cop
7786
language_server
87+
mdl
7888
neovim
7989
rcodetools
8090
reek
@@ -83,4 +93,4 @@ DEPENDENCIES
8393
ruby-beautify
8494

8595
BUNDLED WITH
86-
1.16.0
96+
1.16.5

home/.config/nvim/bin/bundle

+105
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
#!/usr/bin/env ruby
2+
# frozen_string_literal: true
3+
4+
#
5+
# This file was generated by Bundler.
6+
#
7+
# The application 'bundle' is installed as part of a gem, and
8+
# this file is here to facilitate running it.
9+
#
10+
11+
require "rubygems"
12+
13+
m = Module.new do
14+
module_function
15+
16+
def invoked_as_script?
17+
File.expand_path($0) == File.expand_path(__FILE__)
18+
end
19+
20+
def env_var_version
21+
ENV["BUNDLER_VERSION"]
22+
end
23+
24+
def cli_arg_version
25+
return unless invoked_as_script? # don't want to hijack other binstubs
26+
return unless "update".start_with?(ARGV.first || " ") # must be running `bundle update`
27+
bundler_version = nil
28+
update_index = nil
29+
ARGV.each_with_index do |a, i|
30+
if update_index && update_index.succ == i && a =~ Gem::Version::ANCHORED_VERSION_PATTERN
31+
bundler_version = a
32+
end
33+
next unless a =~ /\A--bundler(?:[= ](#{Gem::Version::VERSION_PATTERN}))?\z/
34+
bundler_version = $1 || ">= 0.a"
35+
update_index = i
36+
end
37+
bundler_version
38+
end
39+
40+
def gemfile
41+
gemfile = ENV["BUNDLE_GEMFILE"]
42+
return gemfile if gemfile && !gemfile.empty?
43+
44+
File.expand_path("../../Gemfile", __FILE__)
45+
end
46+
47+
def lockfile
48+
lockfile =
49+
case File.basename(gemfile)
50+
when "gems.rb" then gemfile.sub(/\.rb$/, gemfile)
51+
else "#{gemfile}.lock"
52+
end
53+
File.expand_path(lockfile)
54+
end
55+
56+
def lockfile_version
57+
return unless File.file?(lockfile)
58+
lockfile_contents = File.read(lockfile)
59+
return unless lockfile_contents =~ /\n\nBUNDLED WITH\n\s{2,}(#{Gem::Version::VERSION_PATTERN})\n/
60+
Regexp.last_match(1)
61+
end
62+
63+
def bundler_version
64+
@bundler_version ||= begin
65+
env_var_version || cli_arg_version ||
66+
lockfile_version || "#{Gem::Requirement.default}.a"
67+
end
68+
end
69+
70+
def load_bundler!
71+
ENV["BUNDLE_GEMFILE"] ||= gemfile
72+
73+
# must dup string for RG < 1.8 compatibility
74+
activate_bundler(bundler_version.dup)
75+
end
76+
77+
def activate_bundler(bundler_version)
78+
if Gem::Version.correct?(bundler_version) && Gem::Version.new(bundler_version).release < Gem::Version.new("2.0")
79+
bundler_version = "< 2"
80+
end
81+
gem_error = activation_error_handling do
82+
gem "bundler", bundler_version
83+
end
84+
return if gem_error.nil?
85+
require_error = activation_error_handling do
86+
require "bundler/version"
87+
end
88+
return if require_error.nil? && Gem::Requirement.new(bundler_version).satisfied_by?(Gem::Version.new(Bundler::VERSION))
89+
warn "Activating bundler (#{bundler_version}) failed:\n#{gem_error.message}\n\nTo install the version of bundler this project requires, run `gem install bundler -v '#{bundler_version}'`"
90+
exit 42
91+
end
92+
93+
def activation_error_handling
94+
yield
95+
nil
96+
rescue StandardError, LoadError => e
97+
e
98+
end
99+
end
100+
101+
m.load_bundler!
102+
103+
if m.invoked_as_script?
104+
load Gem.bin_path("bundler", "bundle")
105+
end
+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/usr/bin/env ruby
2+
# frozen_string_literal: true
3+
4+
#
5+
# This file was generated by Bundler.
6+
#
7+
# The application 'code_climate_reek' is installed as part of a gem, and
8+
# this file is here to facilitate running it.
9+
#
10+
11+
require "pathname"
12+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13+
Pathname.new(__FILE__).realpath)
14+
15+
bundle_binstub = File.expand_path("../bundle", __FILE__)
16+
17+
if File.file?(bundle_binstub)
18+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19+
load(bundle_binstub)
20+
else
21+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23+
end
24+
end
25+
26+
require "rubygems"
27+
require "bundler/setup"
28+
29+
load Gem.bin_path("reek", "code_climate_reek")

home/.config/nvim/bin/fastri-server

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/usr/bin/env ruby
2+
# frozen_string_literal: true
3+
4+
#
5+
# This file was generated by Bundler.
6+
#
7+
# The application 'fastri-server' is installed as part of a gem, and
8+
# this file is here to facilitate running it.
9+
#
10+
11+
require "pathname"
12+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13+
Pathname.new(__FILE__).realpath)
14+
15+
bundle_binstub = File.expand_path("../bundle", __FILE__)
16+
17+
if File.file?(bundle_binstub)
18+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19+
load(bundle_binstub)
20+
else
21+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23+
end
24+
end
25+
26+
require "rubygems"
27+
require "bundler/setup"
28+
29+
load Gem.bin_path("fastri", "fastri-server")

home/.config/nvim/bin/fri

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/usr/bin/env ruby
2+
# frozen_string_literal: true
3+
4+
#
5+
# This file was generated by Bundler.
6+
#
7+
# The application 'fri' is installed as part of a gem, and
8+
# this file is here to facilitate running it.
9+
#
10+
11+
require "pathname"
12+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13+
Pathname.new(__FILE__).realpath)
14+
15+
bundle_binstub = File.expand_path("../bundle", __FILE__)
16+
17+
if File.file?(bundle_binstub)
18+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19+
load(bundle_binstub)
20+
else
21+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23+
end
24+
end
25+
26+
require "rubygems"
27+
require "bundler/setup"
28+
29+
load Gem.bin_path("fastri", "fri")

home/.config/nvim/bin/git-cop

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/usr/bin/env ruby
2+
# frozen_string_literal: true
3+
4+
#
5+
# This file was generated by Bundler.
6+
#
7+
# The application 'git-cop' is installed as part of a gem, and
8+
# this file is here to facilitate running it.
9+
#
10+
11+
require "pathname"
12+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13+
Pathname.new(__FILE__).realpath)
14+
15+
bundle_binstub = File.expand_path("../bundle", __FILE__)
16+
17+
if File.file?(bundle_binstub)
18+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19+
load(bundle_binstub)
20+
else
21+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23+
end
24+
end
25+
26+
require "rubygems"
27+
require "bundler/setup"
28+
29+
load Gem.bin_path("git-cop", "git-cop")

home/.config/nvim/bin/kramdown

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/usr/bin/env ruby
2+
# frozen_string_literal: true
3+
4+
#
5+
# This file was generated by Bundler.
6+
#
7+
# The application 'kramdown' is installed as part of a gem, and
8+
# this file is here to facilitate running it.
9+
#
10+
11+
require "pathname"
12+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13+
Pathname.new(__FILE__).realpath)
14+
15+
bundle_binstub = File.expand_path("../bundle", __FILE__)
16+
17+
if File.file?(bundle_binstub)
18+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19+
load(bundle_binstub)
20+
else
21+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23+
end
24+
end
25+
26+
require "rubygems"
27+
require "bundler/setup"
28+
29+
load Gem.bin_path("kramdown", "kramdown")
+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/usr/bin/env ruby
2+
# frozen_string_literal: true
3+
4+
#
5+
# This file was generated by Bundler.
6+
#
7+
# The application 'language_server-ruby' is installed as part of a gem, and
8+
# this file is here to facilitate running it.
9+
#
10+
11+
require "pathname"
12+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13+
Pathname.new(__FILE__).realpath)
14+
15+
bundle_binstub = File.expand_path("../bundle", __FILE__)
16+
17+
if File.file?(bundle_binstub)
18+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19+
load(bundle_binstub)
20+
else
21+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23+
end
24+
end
25+
26+
require "rubygems"
27+
require "bundler/setup"
28+
29+
load Gem.bin_path("language_server", "language_server-ruby")

0 commit comments

Comments
 (0)