nvim_conf 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +63 -7
  3. data/lib/nvim_conf/commenter.rb +23 -0
  4. data/lib/nvim_conf/configuration_builder.rb +2 -2
  5. data/lib/nvim_conf/core.rb +37 -18
  6. data/lib/nvim_conf/generators/code/commands/lua.rb +37 -0
  7. data/lib/nvim_conf/generators/code/globals/lua.rb +47 -0
  8. data/lib/nvim_conf/generators/code/mappings/lua.rb +43 -11
  9. data/lib/nvim_conf/generators/code/plugins/packer.rb +4 -16
  10. data/lib/nvim_conf/generators/code/plugins/paq.rb +57 -0
  11. data/lib/nvim_conf/generators/code/requires/lua.rb +23 -0
  12. data/lib/nvim_conf/generators/code/settings/lua.rb +34 -12
  13. data/lib/nvim_conf/managers/commands.rb +38 -0
  14. data/lib/nvim_conf/{compiler_configurations/manager.rb → managers/compiler_configurations.rb} +4 -4
  15. data/lib/nvim_conf/managers/globals.rb +46 -0
  16. data/lib/nvim_conf/{mappings/manager.rb → managers/mappings.rb} +23 -8
  17. data/lib/nvim_conf/{plugins/manager.rb → managers/plugins.rb} +13 -6
  18. data/lib/nvim_conf/managers/requires.rb +34 -0
  19. data/lib/nvim_conf/{settings/manager.rb → managers/settings.rb} +22 -6
  20. data/lib/nvim_conf/models/command.rb +15 -0
  21. data/lib/nvim_conf/{compiler_configurations → models}/compiler_configuration.rb +1 -1
  22. data/lib/nvim_conf/models/global.rb +12 -0
  23. data/lib/nvim_conf/{mappings → models}/mapping.rb +2 -1
  24. data/lib/nvim_conf/{plugins → models}/plugin.rb +6 -1
  25. data/lib/nvim_conf/models/require.rb +11 -0
  26. data/lib/nvim_conf/{settings → models}/setting.rb +1 -1
  27. data/lib/nvim_conf/utils/io_operator.rb +21 -0
  28. data/lib/nvim_conf/utils/markdown_formatter.rb +35 -0
  29. data/lib/nvim_conf/version.rb +1 -1
  30. data/lib/nvim_conf/writer.rb +1 -1
  31. data/lib/nvim_conf/writers/code/commands.rb +36 -0
  32. data/lib/nvim_conf/writers/code/globals.rb +36 -0
  33. data/lib/nvim_conf/writers/code/mappings.rb +0 -1
  34. data/lib/nvim_conf/writers/code/orchestrator.rb +31 -6
  35. data/lib/nvim_conf/writers/code/plugins/configuration.rb +25 -0
  36. data/lib/nvim_conf/writers/code/plugins/handler.rb +25 -0
  37. data/lib/nvim_conf/writers/code/plugins/packer.rb +94 -0
  38. data/lib/nvim_conf/writers/code/plugins/paq.rb +49 -0
  39. data/lib/nvim_conf/writers/code/requires.rb +36 -0
  40. data/lib/nvim_conf/writers/documentation/globals.rb +45 -0
  41. data/lib/nvim_conf/writers/documentation/mappings.rb +5 -18
  42. data/lib/nvim_conf/writers/documentation/orchestrator.rb +26 -7
  43. data/lib/nvim_conf/writers/documentation/plugins.rb +54 -0
  44. data/lib/nvim_conf/writers/documentation/settings.rb +11 -18
  45. data/lib/nvim_conf.rb +11 -6
  46. metadata +32 -13
  47. data/lib/nvim_conf/generators/generator.rb +0 -6
  48. data/lib/nvim_conf/manager.rb +0 -6
  49. data/lib/nvim_conf/writers/code/plugins.rb +0 -86
@@ -0,0 +1,94 @@
1
+ require "nvim_conf/models/plugin"
2
+
3
+ module NvimConf
4
+ module Writers
5
+ module Code
6
+ module Plugins
7
+ class Packer
8
+ BOOTSTRAP_HEADER = <<~BOOTSTRAP_HEADER
9
+ local fn = vim.fn
10
+ local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
11
+ if fn.empty(fn.glob(install_path)) > 0 then
12
+ packer_bootstrap = fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
13
+ end\n
14
+ BOOTSTRAP_HEADER
15
+
16
+ BOOTSTRAP_TAIL = <<~BOOTSTRAP_TAIL
17
+ if packer_bootstrap then
18
+ require('packer').sync()
19
+ end
20
+ BOOTSTRAP_TAIL
21
+
22
+ BLOCK_START = <<~START
23
+ require('packer').startup(function(use)\n
24
+ START
25
+
26
+ BLOCK_END = <<~END
27
+ end)
28
+ END
29
+
30
+ def initialize(manager, io, configuration)
31
+ @manager = manager
32
+ @io = io
33
+ @configuration = configuration
34
+ @plugins = install_self(manager.plugins)
35
+ end
36
+
37
+ def write
38
+ write_start_of_bootstrap
39
+ @io.write(
40
+ BLOCK_START
41
+ )
42
+
43
+ @plugins.each do |plugin|
44
+ @io.write(
45
+ "#{plugin_indent(@configuration[:generator].new(plugin).generate)}\n"
46
+ )
47
+ end
48
+
49
+ write_tail_of_bootstrap
50
+
51
+ @io.write(
52
+ BLOCK_END
53
+ )
54
+ end
55
+
56
+ private
57
+
58
+ def write_start_of_bootstrap
59
+ return unless bootstrap?
60
+
61
+ @io.write(
62
+ BOOTSTRAP_HEADER
63
+ )
64
+ end
65
+
66
+ def install_self(plugins)
67
+ [Models::Plugin.new("wbthomason/packer.nvim")] + plugins
68
+ end
69
+
70
+ def write_tail_of_bootstrap
71
+ return unless bootstrap?
72
+
73
+ @io.write("\n")
74
+ @io.write(
75
+ plugin_indent(BOOTSTRAP_TAIL)
76
+ )
77
+ @io.write("\n")
78
+ end
79
+
80
+ def bootstrap?
81
+ @manager.bootstraped
82
+ end
83
+
84
+ def plugin_indent(content)
85
+ [
86
+ " " * @configuration[:indent],
87
+ content
88
+ ].join
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,49 @@
1
+ module NvimConf
2
+ module Writers
3
+ module Code
4
+ module Plugins
5
+ class Paq
6
+ BLOCK_START = <<~START
7
+ require "paq" {
8
+ START
9
+
10
+ BLOCK_END = <<~END
11
+ }
12
+ END
13
+
14
+ def initialize(manager, io, configuration)
15
+ @manager = manager
16
+ @io = io
17
+ @configuration = configuration
18
+ @plugins = manager.plugins
19
+ end
20
+
21
+ def write
22
+ @io.write(
23
+ BLOCK_START
24
+ )
25
+
26
+ @plugins.each do |plugin|
27
+ @io.write(
28
+ "#{plugin_indent(@configuration[:generator].new(plugin).generate)}\n"
29
+ )
30
+ end
31
+
32
+ @io.write(
33
+ BLOCK_END
34
+ )
35
+ end
36
+
37
+ private
38
+
39
+ def plugin_indent(content)
40
+ [
41
+ " " * @configuration[:indent],
42
+ content
43
+ ].join
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,36 @@
1
+ require "nvim_conf/generators/code/requires/lua"
2
+
3
+ module NvimConf
4
+ module Writers
5
+ module Code
6
+ class RequiresWriter
7
+ REQUIRE_GENERATOR_MAPPING = {
8
+ lua: Generators::Requires::Code::Lua
9
+ }
10
+
11
+ def initialize(manager, io, format: :lua, commented: false)
12
+ @manager = manager
13
+ @io = io
14
+ @format = format
15
+ end
16
+
17
+ def write
18
+ @manager.requires.each do |require|
19
+ @io.write(
20
+ [
21
+ generator_class.new(require).generate,
22
+ "\n"
23
+ ].join
24
+ )
25
+ end
26
+ end
27
+
28
+ private
29
+
30
+ def generator_class
31
+ REQUIRE_GENERATOR_MAPPING[@format]
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,45 @@
1
+ module NvimConf
2
+ module Writers
3
+ module Documentation
4
+ class Globals
5
+ def initialize(managers, io)
6
+ @managers = managers
7
+ @io = io
8
+ end
9
+
10
+ def aggregate_writes
11
+ return if @managers.nil? || @managers.empty?
12
+
13
+ @io.write(
14
+ Utils::MarkdownFormatter.format_title(
15
+ "Globals",
16
+ level: 2
17
+ )
18
+ )
19
+
20
+ write_globals
21
+ end
22
+
23
+ private
24
+
25
+ def write_globals
26
+ @managers.map(&:globals).flatten.each do |global|
27
+ @io.write(
28
+ [
29
+ "- #{global.name}",
30
+ transformed_value(global.value)
31
+ ].join(" => ") + "\n"
32
+ )
33
+ end
34
+ end
35
+
36
+ def transformed_value(value)
37
+ return value.join(", ") if value.is_a?(Array)
38
+ return value unless value.nil?
39
+
40
+ value
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -2,9 +2,6 @@ module NvimConf
2
2
  module Writers
3
3
  module Documentation
4
4
  class Mappings
5
- MAIN_HEADER_PREFIX = "##"
6
- MAPPING_HEADER_PREFIX = "###"
7
-
8
5
  def initialize(managers, io)
9
6
  @managers = managers
10
7
  @io = io
@@ -14,9 +11,9 @@ module NvimConf
14
11
  return if @managers.empty?
15
12
 
16
13
  @io.write(
17
- title(
14
+ Utils::MarkdownFormatter.format_title(
18
15
  "Mappings",
19
- MAIN_HEADER_PREFIX
16
+ level: 2
20
17
  )
21
18
  )
22
19
 
@@ -27,12 +24,12 @@ module NvimConf
27
24
 
28
25
  def write_mappings(grouped_mappings)
29
26
  grouped_mappings.each do |operator, mappings|
30
- write_separator
27
+ @io.write_separator
31
28
 
32
29
  @io.write(
33
- title(
30
+ Utils::MarkdownFormatter.format_title(
34
31
  operator,
35
- MAPPING_HEADER_PREFIX
32
+ level: 3
36
33
  )
37
34
  )
38
35
 
@@ -50,16 +47,6 @@ module NvimConf
50
47
  def all_mappings
51
48
  @managers.map(&:mappings).flatten
52
49
  end
53
-
54
- def write_separator
55
- @io.write(
56
- "\n\n"
57
- )
58
- end
59
-
60
- def title(text, prefix)
61
- "#{prefix} #{text}\n"
62
- end
63
50
  end
64
51
  end
65
52
  end
@@ -1,11 +1,13 @@
1
1
  require "nvim_conf/writers/documentation/mappings"
2
+ require "nvim_conf/writers/documentation/globals"
2
3
  require "nvim_conf/writers/documentation/settings"
4
+ require "nvim_conf/writers/documentation/plugins"
3
5
 
4
6
  module NvimConf
5
7
  module Writers
6
8
  module Documentation
7
9
  class Orchestrator
8
- NON_WRITABLE_MANAGER = NvimConf::CompilerConfigurations::Manager
10
+ NON_WRITABLE_MANAGER = NvimConf::Managers::CompilerConfigurations
9
11
 
10
12
  def initialize(managers, io, configuration = nil)
11
13
  @managers = managers
@@ -18,16 +20,33 @@ module NvimConf
18
20
 
19
21
  write_main_header
20
22
 
21
- {
22
- NvimConf::Writers::Documentation::Settings => NvimConf::Settings::Manager,
23
- NvimConf::Writers::Documentation::Mappings => NvimConf::Mappings::Manager
24
- }.each do |writer_class, manager_class|
23
+ writers = [
24
+ [
25
+ NvimConf::Writers::Documentation::Settings, NvimConf::Managers::Settings
26
+ ],
27
+ [
28
+ NvimConf::Writers::Documentation::Mappings, NvimConf::Managers::Mappings
29
+ ],
30
+ [
31
+ NvimConf::Writers::Documentation::Plugins, NvimConf::Managers::Plugins
32
+ ],
33
+ [
34
+ NvimConf::Writers::Documentation::Globals, NvimConf::Managers::Globals
35
+ ]
36
+ ]
37
+
38
+ writers.each_with_index do |relevant_classes, index|
39
+ writer_class, manager_class = *relevant_classes
40
+ managers = @managers.select { |manager| manager.instance_of?(manager_class) }
41
+
42
+ next if managers.length.zero?
43
+
25
44
  writer_class.new(
26
- @managers.select { |manager| manager.instance_of?(manager_class) },
45
+ managers,
27
46
  @io
28
47
  ).aggregate_writes
29
48
 
30
- @io.write("\n\n")
49
+ @io.write("\n\n") if index != (writers.length - 1)
31
50
  end
32
51
  end
33
52
 
@@ -0,0 +1,54 @@
1
+ module NvimConf
2
+ module Writers
3
+ module Documentation
4
+ class Plugins
5
+ def initialize(managers, io)
6
+ @managers = managers
7
+ @io = io
8
+ end
9
+
10
+ def aggregate_writes
11
+ return if @managers.empty?
12
+
13
+ @io.write(
14
+ Utils::MarkdownFormatter.format_title(
15
+ "Plugins",
16
+ level: 2
17
+ )
18
+ )
19
+
20
+ write_plugins
21
+ end
22
+
23
+ private
24
+
25
+ def write_plugins
26
+ @managers.each do |manager|
27
+ @io.write(
28
+ Utils::MarkdownFormatter.format_title(
29
+ manager.name.capitalize,
30
+ level: 3
31
+ )
32
+ )
33
+
34
+ manager.plugins.each do |plugin|
35
+ @io.write(
36
+ Utils::MarkdownFormatter.collapisible(
37
+ plugin.name,
38
+ plugin_url(plugin.name)
39
+ )
40
+ )
41
+ @io.write("\n")
42
+ end
43
+
44
+ @io.write_separator
45
+ end
46
+ end
47
+
48
+ def plugin_url(name)
49
+ "https://github.com/#{name}"
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -2,8 +2,6 @@ module NvimConf
2
2
  module Writers
3
3
  module Documentation
4
4
  class Settings
5
- MAIN_HEADER_PREFIX = "##"
6
-
7
5
  def initialize(managers, io)
8
6
  @managers = managers
9
7
  @io = io
@@ -13,9 +11,9 @@ module NvimConf
13
11
  return if @managers.empty?
14
12
 
15
13
  @io.write(
16
- title(
14
+ Utils::MarkdownFormatter.format_title(
17
15
  "Settings",
18
- MAIN_HEADER_PREFIX
16
+ level: 2
19
17
  )
20
18
  )
21
19
 
@@ -26,12 +24,12 @@ module NvimConf
26
24
 
27
25
  def write_settings_groups(groups)
28
26
  groups.each do |operation, settings|
29
- write_separator
27
+ @io.write_separator
30
28
 
31
29
  @io.write(
32
- title(
30
+ Utils::MarkdownFormatter.format_title(
33
31
  operation.capitalize,
34
- "###"
32
+ level: 3
35
33
  )
36
34
  )
37
35
 
@@ -40,13 +38,18 @@ module NvimConf
40
38
  [
41
39
  "- #{setting.key}",
42
40
  transformed_value(setting, setting.value)
43
- ].join(" => ") + "\n"
41
+ ].join(operator(setting)) + "\n"
44
42
  )
45
43
  end
46
44
  end
47
45
  end
48
46
 
47
+ def operator(setting)
48
+ %i[set unset].include?(setting.operation) ? " => " : " += "
49
+ end
50
+
49
51
  def transformed_value(setting, value)
52
+ return value.join(", ") if value.is_a?(Array)
50
53
  return value unless value.nil?
51
54
 
52
55
  setting.operation == :set
@@ -55,16 +58,6 @@ module NvimConf
55
58
  def all_settings
56
59
  @managers.map(&:settings).flatten
57
60
  end
58
-
59
- def write_separator
60
- @io.write(
61
- "\n\n"
62
- )
63
- end
64
-
65
- def title(text, prefix)
66
- "#{prefix} #{text}\n"
67
- end
68
61
  end
69
62
  end
70
63
  end
data/lib/nvim_conf.rb CHANGED
@@ -1,17 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "nvim_conf/version"
4
- require "set"
5
4
  require "nvim_conf/core"
6
5
  require "nvim_conf/writer"
7
- require "nvim_conf/manager"
6
+ require "nvim_conf/commenter"
8
7
  require "nvim_conf/configuration_builder"
9
- require "nvim_conf/plugins/manager"
10
- require "nvim_conf/settings/manager"
11
- require "nvim_conf/mappings/manager"
12
- require "nvim_conf/compiler_configurations/manager"
8
+ require "nvim_conf/managers/plugins"
9
+ require "nvim_conf/managers/settings"
10
+ require "nvim_conf/managers/mappings"
11
+ require "nvim_conf/managers/requires"
12
+ require "nvim_conf/managers/globals"
13
+ require "nvim_conf/managers/commands"
14
+ require "nvim_conf/managers/compiler_configurations"
15
+ require "nvim_conf/utils/markdown_formatter"
16
+ require "nvim_conf/utils/io_operator"
13
17
  require "nvim_conf/generators/code/settings/lua"
14
18
  require "nvim_conf/generators/code/plugins/packer"
19
+ require "nvim_conf/generators/code/plugins/paq"
15
20
  require "nvim_conf/generators/code/settings/vim"
16
21
  require "nvim_conf/generators/code/mappings/lua"
17
22
  require "nvim_conf/generators/code/mappings/vim"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nvim_conf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Liberatys
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-25 00:00:00.000000000 Z
11
+ date: 2021-12-28 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A ruby dsl to generate a nvim configuration
14
14
  email:
@@ -22,31 +22,50 @@ files:
22
22
  - README.md
23
23
  - bin/nvim_conf
24
24
  - lib/nvim_conf.rb
25
- - lib/nvim_conf/compiler_configurations/compiler_configuration.rb
26
- - lib/nvim_conf/compiler_configurations/manager.rb
25
+ - lib/nvim_conf/commenter.rb
27
26
  - lib/nvim_conf/configuration_builder.rb
28
27
  - lib/nvim_conf/core.rb
28
+ - lib/nvim_conf/generators/code/commands/lua.rb
29
+ - lib/nvim_conf/generators/code/globals/lua.rb
29
30
  - lib/nvim_conf/generators/code/mappings/lua.rb
30
31
  - lib/nvim_conf/generators/code/mappings/vim.rb
31
32
  - lib/nvim_conf/generators/code/plugins/packer.rb
33
+ - lib/nvim_conf/generators/code/plugins/paq.rb
34
+ - lib/nvim_conf/generators/code/requires/lua.rb
32
35
  - lib/nvim_conf/generators/code/settings/lua.rb
33
36
  - lib/nvim_conf/generators/code/settings/vim.rb
34
- - lib/nvim_conf/generators/generator.rb
35
- - lib/nvim_conf/manager.rb
36
- - lib/nvim_conf/mappings/manager.rb
37
- - lib/nvim_conf/mappings/mapping.rb
38
- - lib/nvim_conf/plugins/manager.rb
39
- - lib/nvim_conf/plugins/plugin.rb
40
- - lib/nvim_conf/settings/manager.rb
41
- - lib/nvim_conf/settings/setting.rb
37
+ - lib/nvim_conf/managers/commands.rb
38
+ - lib/nvim_conf/managers/compiler_configurations.rb
39
+ - lib/nvim_conf/managers/globals.rb
40
+ - lib/nvim_conf/managers/mappings.rb
41
+ - lib/nvim_conf/managers/plugins.rb
42
+ - lib/nvim_conf/managers/requires.rb
43
+ - lib/nvim_conf/managers/settings.rb
44
+ - lib/nvim_conf/models/command.rb
45
+ - lib/nvim_conf/models/compiler_configuration.rb
46
+ - lib/nvim_conf/models/global.rb
47
+ - lib/nvim_conf/models/mapping.rb
48
+ - lib/nvim_conf/models/plugin.rb
49
+ - lib/nvim_conf/models/require.rb
50
+ - lib/nvim_conf/models/setting.rb
51
+ - lib/nvim_conf/utils/io_operator.rb
52
+ - lib/nvim_conf/utils/markdown_formatter.rb
42
53
  - lib/nvim_conf/version.rb
43
54
  - lib/nvim_conf/writer.rb
55
+ - lib/nvim_conf/writers/code/commands.rb
56
+ - lib/nvim_conf/writers/code/globals.rb
44
57
  - lib/nvim_conf/writers/code/mappings.rb
45
58
  - lib/nvim_conf/writers/code/orchestrator.rb
46
- - lib/nvim_conf/writers/code/plugins.rb
59
+ - lib/nvim_conf/writers/code/plugins/configuration.rb
60
+ - lib/nvim_conf/writers/code/plugins/handler.rb
61
+ - lib/nvim_conf/writers/code/plugins/packer.rb
62
+ - lib/nvim_conf/writers/code/plugins/paq.rb
63
+ - lib/nvim_conf/writers/code/requires.rb
47
64
  - lib/nvim_conf/writers/code/settings.rb
65
+ - lib/nvim_conf/writers/documentation/globals.rb
48
66
  - lib/nvim_conf/writers/documentation/mappings.rb
49
67
  - lib/nvim_conf/writers/documentation/orchestrator.rb
68
+ - lib/nvim_conf/writers/documentation/plugins.rb
50
69
  - lib/nvim_conf/writers/documentation/settings.rb
51
70
  homepage: https://github.com/Liberatys/nvim_conf
52
71
  licenses:
@@ -1,6 +0,0 @@
1
- module NvimConf
2
- module Generators
3
- class Generator
4
- end
5
- end
6
- end
@@ -1,6 +0,0 @@
1
- module NvimConf
2
- class Manager
3
- def store?
4
- end
5
- end
6
- end
@@ -1,86 +0,0 @@
1
- # TODO: This code needs to be refactored.... Bad CODE :D will be done during the addition of the second plugin manager!
2
- module NvimConf
3
- module Writers
4
- module Code
5
- class PluginsWriter
6
- PLUGIN_MAP = {
7
- packer: NvimConf::Generators::Plugins::Code::Packer
8
- }
9
-
10
- INDENT_MAP = {
11
- packer: 2
12
- }
13
-
14
- def initialize(manager, io, _params)
15
- @manager = manager
16
- @io = io
17
- end
18
-
19
- def write
20
- send("surround_#{@manager.name}") do |plugin|
21
- @io.write(
22
- [
23
- plugin_indent(PLUGIN_MAP[@manager.name.to_sym].new(
24
- plugin
25
- ).generate),
26
- "\n"
27
- ].join
28
- )
29
- end
30
- end
31
-
32
- private
33
-
34
- def surround_packer(&block)
35
- if bootstrap?
36
- @io.write(
37
- <<~BOOTSTRAP
38
- local fn = vim.fn
39
- local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
40
- if fn.empty(fn.glob(install_path)) > 0 then
41
- packer_bootstrap = fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
42
- end\n
43
- BOOTSTRAP
44
- )
45
- end
46
-
47
- @io.write(
48
- "return require('packer').startup(function()\n"
49
- )
50
-
51
- @manager.plugins.each(&block)
52
-
53
- if bootstrap?
54
- @io.write("\n")
55
- @io.write(plugin_indent(
56
- <<~BOOTSTRAP
57
- if packer_bootstrap then
58
- require('packer').sync()
59
- end\n
60
- BOOTSTRAP
61
- ))
62
- end
63
-
64
- @io.write(
65
- "end)\n"
66
- )
67
- end
68
-
69
- def bootstrap?
70
- @manager.bootstraped
71
- end
72
-
73
- def plugin_indent(content)
74
- [
75
- " " * INDENT_MAP[@manager.name.to_sym],
76
- content
77
- ].join
78
- end
79
-
80
- def generator_class
81
- PLUGIN_MAP[@manager.name.to_sym]
82
- end
83
- end
84
- end
85
- end
86
- end