rcfiles 1.1.1137

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rcfiles might be problematic. Click here for more details.

Files changed (97) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +401 -0
  3. data/bin/rcfiles +7 -0
  4. data/bin/rcfiles_run_it +7 -0
  5. data/doc/README.gen +384 -0
  6. data/lib/rcfiles.rb +1 -0
  7. data/lib/rcfiles/class/colours.rb +54 -0
  8. data/lib/rcfiles/class/initialize.rb +66 -0
  9. data/lib/rcfiles/class/misc.rb +299 -0
  10. data/lib/rcfiles/class/rcfiles.rb +31 -0
  11. data/lib/rcfiles/class/reset.rb +26 -0
  12. data/lib/rcfiles/class/run.rb +17 -0
  13. data/lib/rcfiles/colours/colours.rb +107 -0
  14. data/lib/rcfiles/commandline/commandline.rb +170 -0
  15. data/lib/rcfiles/constants/custom_files.rb +80 -0
  16. data/lib/rcfiles/constants/encodings.rb +85 -0
  17. data/lib/rcfiles/constants/misc.rb +75 -0
  18. data/lib/rcfiles/constants/namespace.rb +18 -0
  19. data/lib/rcfiles/expand_cd_aliases/constants.rb +50 -0
  20. data/lib/rcfiles/expand_cd_aliases/expand_cd_aliases.rb +626 -0
  21. data/lib/rcfiles/expand_cd_aliases/run.rb +18 -0
  22. data/lib/rcfiles/files/file_aliases.rb +78 -0
  23. data/lib/rcfiles/files/file_cd_aliases.rb +85 -0
  24. data/lib/rcfiles/files/file_ls_colours.rb +76 -0
  25. data/lib/rcfiles/files/file_path_variable.rb +74 -0
  26. data/lib/rcfiles/files/file_pkgconfig.rb +74 -0
  27. data/lib/rcfiles/files/file_programs_aliases.rb +68 -0
  28. data/lib/rcfiles/files/file_ps1.rb +80 -0
  29. data/lib/rcfiles/files/file_system_settings.rb +66 -0
  30. data/lib/rcfiles/help/help.rb +46 -0
  31. data/lib/rcfiles/no_colours.rb +13 -0
  32. data/lib/rcfiles/project/project.rb +45 -0
  33. data/lib/rcfiles/rcfiles/README.md +5 -0
  34. data/lib/rcfiles/rcfiles/aliases_rc +18526 -0
  35. data/lib/rcfiles/rcfiles/cd_aliases_rc +13313 -0
  36. data/lib/rcfiles/rcfiles/cflags_rc +9 -0
  37. data/lib/rcfiles/rcfiles/compile_rc +11 -0
  38. data/lib/rcfiles/rcfiles/file_information_rc +16 -0
  39. data/lib/rcfiles/rcfiles/german_umlaute_rc +264 -0
  40. data/lib/rcfiles/rcfiles/gnome_rc +10 -0
  41. data/lib/rcfiles/rcfiles/kde_rc +17 -0
  42. data/lib/rcfiles/rcfiles/kernel_rc +12 -0
  43. data/lib/rcfiles/rcfiles/lang_rc +9 -0
  44. data/lib/rcfiles/rcfiles/ldflags_rc +8 -0
  45. data/lib/rcfiles/rcfiles/ls_colours_rc +9 -0
  46. data/lib/rcfiles/rcfiles/network_rc +37 -0
  47. data/lib/rcfiles/rcfiles/path_variable_rc +9 -0
  48. data/lib/rcfiles/rcfiles/pkgconfig_rc +9 -0
  49. data/lib/rcfiles/rcfiles/programs_aliases_rc +15597 -0
  50. data/lib/rcfiles/rcfiles/ps1_rc +9 -0
  51. data/lib/rcfiles/rcfiles/special_aliases_rc +23 -0
  52. data/lib/rcfiles/rcfiles/system_rc +13 -0
  53. data/lib/rcfiles/rcfiles/system_settings_rc +191 -0
  54. data/lib/rcfiles/rcfiles/term_rc +9 -0
  55. data/lib/rcfiles/rcfiles/video_rc +24 -0
  56. data/lib/rcfiles/requires/require_the_expand_cd_aliases.rb +7 -0
  57. data/lib/rcfiles/requires/require_the_rcfiles_constants.rb +21 -0
  58. data/lib/rcfiles/requires/require_the_rcfiles_project.rb +66 -0
  59. data/lib/rcfiles/requires/try_to_require_syck_and_psych.rb +18 -0
  60. data/lib/rcfiles/toplevel_methods/autogenerate_rc_file_from_this_yaml_file.rb +102 -0
  61. data/lib/rcfiles/toplevel_methods/change_directory.rb +16 -0
  62. data/lib/rcfiles/toplevel_methods/convert.rb +118 -0
  63. data/lib/rcfiles/toplevel_methods/create_windows_cd_aliases_bat_file.rb +51 -0
  64. data/lib/rcfiles/toplevel_methods/e.rb +16 -0
  65. data/lib/rcfiles/toplevel_methods/esystem.rb +19 -0
  66. data/lib/rcfiles/toplevel_methods/generate_yaml_files.rb +148 -0
  67. data/lib/rcfiles/toplevel_methods/infer.rb +83 -0
  68. data/lib/rcfiles/toplevel_methods/is_on_roebe.rb +16 -0
  69. data/lib/rcfiles/toplevel_methods/main_directory.rb +108 -0
  70. data/lib/rcfiles/toplevel_methods/misc.rb +304 -0
  71. data/lib/rcfiles/toplevel_methods/n_registered_aliases_in_total.rb +55 -0
  72. data/lib/rcfiles/toplevel_methods/no_file_exists_at.rb +19 -0
  73. data/lib/rcfiles/toplevel_methods/notifications.rb +33 -0
  74. data/lib/rcfiles/toplevel_methods/rds.rb +16 -0
  75. data/lib/rcfiles/toplevel_methods/remove_newlines.rb +29 -0
  76. data/lib/rcfiles/toplevel_methods/report.rb +53 -0
  77. data/lib/rcfiles/toplevel_methods/return_standard_header.rb +36 -0
  78. data/lib/rcfiles/toplevel_methods/run_it.rb +46 -0
  79. data/lib/rcfiles/toplevel_methods/save_file.rb +27 -0
  80. data/lib/rcfiles/toplevel_methods/use_psych_or_syck.rb +50 -0
  81. data/lib/rcfiles/toplevel_methods/use_quotes.rb +68 -0
  82. data/lib/rcfiles/toplevel_methods/verbosity.rb +28 -0
  83. data/lib/rcfiles/version/version.rb +26 -0
  84. data/lib/rcfiles/yaml/aliases.yml +20991 -0
  85. data/lib/rcfiles/yaml/cd_aliases.yml +13970 -0
  86. data/lib/rcfiles/yaml/ls_colours.yml +128 -0
  87. data/lib/rcfiles/yaml/path_variable.yml +12 -0
  88. data/lib/rcfiles/yaml/pkgconfig.yml +46 -0
  89. data/lib/rcfiles/yaml/programs_aliases.yml +17081 -0
  90. data/lib/rcfiles/yaml/ps1.yml +82 -0
  91. data/lib/rcfiles/yaml/store_into_this_directory.yml +1 -0
  92. data/lib/rcfiles/yaml/system_settings.yml +513 -0
  93. data/lib/rcfiles/yaml/use_psych_or_syck.yml +1 -0
  94. data/rcfiles.gemspec +56 -0
  95. data/test/testing_expand_cd_aliases.rb +47 -0
  96. data/test/testing_yaml_to_rcfiles.rb +9 -0
  97. metadata +201 -0
data/lib/rcfiles.rb ADDED
@@ -0,0 +1 @@
1
+ require 'rcfiles/requires/require_the_rcfiles_project.rb'
@@ -0,0 +1,54 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'rcfiles/class/colours.rb'
6
+ # =========================================================================== #
7
+ require 'rcfiles/colours/colours.rb'
8
+
9
+ module Rcfiles
10
+
11
+ class Rcfiles
12
+
13
+ # ========================================================================= #
14
+ # === use_colours?
15
+ #
16
+ # We delegate to the toplevel method in order to determine whether
17
+ # the Rcfiles project will use colours or whether it will not.
18
+ # ========================================================================= #
19
+ def use_colours?
20
+ ::Rcfiles.use_colours?
21
+ end
22
+
23
+ # ========================================================================= #
24
+ # === sdir
25
+ # ========================================================================= #
26
+ def sdir(i)
27
+ return ::Rcfiles.sdir(i) if use_colours?
28
+ end
29
+
30
+ # ========================================================================= #
31
+ # === simp
32
+ # ========================================================================= #
33
+ def simp(i)
34
+ return ::Rcfiles.simp(i) if use_colours?
35
+ i
36
+ end
37
+
38
+ # ========================================================================= #
39
+ # === sfancy
40
+ # ========================================================================= #
41
+ def sfancy(i)
42
+ return ::Rcfiles.sfancy(i) if use_colours?
43
+ i
44
+ end
45
+
46
+ # ========================================================================= #
47
+ # === sfile
48
+ # ========================================================================= #
49
+ def sfile(i)
50
+ return ::Rcfiles.sfile(i) if use_colours?
51
+ i
52
+ end
53
+
54
+ end; end
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'rcfiles/class/initialize.rb'
6
+ # =========================================================================== #
7
+ module Rcfiles
8
+
9
+ class Rcfiles # === Rcfiles::Rcfiles
10
+
11
+ # ========================================================================== #
12
+ # === initialize
13
+ # ========================================================================== #
14
+ def initialize(
15
+ i = ARGV,
16
+ run_already = true
17
+ )
18
+ register_sigint
19
+ reset
20
+ set_commandline_arguments(i)
21
+ if i
22
+ set_generate_this(i)
23
+ end
24
+ # ======================================================================= #
25
+ # === Handle blocks next
26
+ # ======================================================================= #
27
+ if block_given?
28
+ yielded = yield
29
+ if yielded.is_a? Hash
30
+ if yielded.has_key? :be_verbose
31
+ @be_verbose = yielded.delete(:be_verbose)
32
+ end
33
+ if yielded.has_key? :use_colours
34
+ use_colours = yielded.delete(:use_colours)
35
+ if use_colours == false
36
+ disable_colours
37
+ end
38
+ end
39
+ else # else it is not a Hash
40
+ case yielded
41
+ # =================================================================== #
42
+ # === :initialize_main_hash
43
+ # =================================================================== #
44
+ when :initialize_main_hash
45
+ initialize_main_hash
46
+ # =================================================================== #
47
+ # === :disable_colours
48
+ #
49
+ # The block-argument :disable_colours will disable
50
+ # colours for the current run.
51
+ # =================================================================== #
52
+ when :disable_colours,
53
+ :no_colours,
54
+ :toggle,
55
+ :c
56
+ disable_colours
57
+ # === :be_quiet
58
+ when :be_quiet
59
+ @be_verbose = false
60
+ end
61
+ end
62
+ end
63
+ run if run_already
64
+ end
65
+
66
+ end; end
@@ -0,0 +1,299 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'rcfiles/class/misc.rb'
6
+ # =========================================================================== #
7
+ require 'rcfiles/toplevel_methods/e.rb'
8
+ require 'rcfiles/toplevel_methods/misc.rb'
9
+ require 'rcfiles/toplevel_methods/save_file.rb'
10
+ require 'rcfiles/toplevel_methods/return_standard_header.rb'
11
+ require 'rcfiles/toplevel_methods/remove_newlines.rb'
12
+ require 'rcfiles/toplevel_methods/use_quotes.rb'
13
+ require 'rcfiles/constants/misc.rb'
14
+ require 'rcfiles/class/initialize.rb'
15
+ require 'rcfiles/class/colours.rb'
16
+ require 'rcfiles/class/reset.rb'
17
+ require 'rcfiles/class/run.rb'
18
+ require 'rcfiles/version/version.rb'
19
+
20
+ module Rcfiles
21
+
22
+ class Rcfiles # === Rcfiles::Rcfiles
23
+
24
+ # ========================================================================= #
25
+ # === do_not_use_quotes
26
+ # ========================================================================= #
27
+ def do_not_use_quotes
28
+ ::Rcfiles.use_quotes = false
29
+ end; alias disable_quotes do_not_use_quotes # === disable_quotes
30
+
31
+ # ========================================================================= #
32
+ # === use_quotes?
33
+ # ========================================================================= #
34
+ def use_quotes?
35
+ ::Rcfiles.use_quotes?
36
+ end
37
+
38
+ # ========================================================================== #
39
+ # === set_commandline_arguments
40
+ # ========================================================================== #
41
+ def set_commandline_arguments(i)
42
+ @commandline_arguments = [i].flatten.compact
43
+ end
44
+
45
+ # ========================================================================== #
46
+ # === register_sigint
47
+ # ========================================================================== #
48
+ def register_sigint
49
+ Signal.trap('SIGINT') { exit }
50
+ end
51
+
52
+ # ========================================================================= #
53
+ # === mkdir
54
+ # ========================================================================= #
55
+ def mkdir(i)
56
+ FileUtils.mkdir(i)
57
+ end; alias create_directory mkdir # === create_directory
58
+
59
+ # ========================================================================= #
60
+ # === remove_newlines
61
+ # ========================================================================= #
62
+ def remove_newlines(i)
63
+ ::Rcfiles.remove_newlines(i)
64
+ end
65
+
66
+ # ========================================================================= #
67
+ # === remove_file
68
+ # ========================================================================= #
69
+ def remove_file(i) # rm tag, remove tag.
70
+ FileUtils.rm(i) if File.exist?(i)
71
+ end
72
+
73
+ # ========================================================================= #
74
+ # === create_file
75
+ # ========================================================================= #
76
+ def create_file(i) # This will create a file.
77
+ opnn; e "Now creating the file `#{sfile(i)}`."
78
+ FileUtils.touch(i)
79
+ end
80
+
81
+ # ========================================================================== #
82
+ # === set_current_date
83
+ # ========================================================================== #
84
+ def set_current_date
85
+ @current_date = Time.now.strftime '%d.%m.%Y'
86
+ end
87
+
88
+ # ========================================================================= #
89
+ # === get_files_from
90
+ # ========================================================================= #
91
+ def get_files_from(i = Dir.pwd)
92
+ return Dir["#{i}*.yml"]
93
+ end; alias get_files get_files_from # === get_files
94
+
95
+ # ========================================================================== #
96
+ # === return_standard_header
97
+ #
98
+ # This adds a standard header to our RC-File in question.
99
+ #
100
+ # The input argument should be the name of the rc-file at hand.
101
+ # ========================================================================== #
102
+ def return_standard_header(which_file = '')
103
+ ::Rcfiles.return_standard_header(which_file)
104
+ end; alias add_header return_standard_header # === add_header
105
+
106
+ # ========================================================================= #
107
+ # === rds
108
+ # ========================================================================= #
109
+ def rds(i)
110
+ i.squeeze('/')
111
+ end
112
+
113
+ # ========================================================================= #
114
+ # === do_be_silent
115
+ # ========================================================================= #
116
+ def do_be_silent
117
+ @be_verbose = false
118
+ end
119
+
120
+ # ========================================================================= #
121
+ # === check_whether_rcfiles_directory_exists
122
+ #
123
+ # This method will check whether the rcfiles-directory exists. If it
124
+ # does not, then we will create these directories.
125
+ # ========================================================================= #
126
+ def check_whether_rcfiles_directory_exists(
127
+ i = @create_rcfiles_where
128
+ )
129
+ unless File.directory? i
130
+ mkdir(i)
131
+ end
132
+ end
133
+
134
+ # ========================================================================= #
135
+ # === e (e tag)
136
+ # ========================================================================= #
137
+ def e(i = '')
138
+ ::Rcfiles.e(i)
139
+ end
140
+
141
+ # ========================================================================= #
142
+ # === set_generate_this
143
+ #
144
+ # The default setting is to generate all the various rc-files.
145
+ # ========================================================================= #
146
+ def set_generate_this(i = :default)
147
+ if i.is_a? Array
148
+ i = i.first
149
+ elsif i.is_a? Hash
150
+ if i.has_key? :store_at
151
+ set_create_rcfiles_where(i.delete(:store_at))
152
+ i = :default
153
+ end
154
+ end
155
+ case i
156
+ # ======================================================================= #
157
+ # === cd_aliases
158
+ # ======================================================================= #
159
+ when 'cd_aliases',
160
+ :cd_aliases
161
+ set_dataset(
162
+ ::Rcfiles.cd_aliases?
163
+ )
164
+ when :default # :default is an alias towards :all
165
+ i = :all # This is the default.
166
+ else
167
+ # if File.exist? i.to_s
168
+ # pass through for now
169
+ # end
170
+ end
171
+ @generate_this = i
172
+ end
173
+
174
+ # ========================================================================= #
175
+ # === determine_rc_file
176
+ # ========================================================================= #
177
+ def determine_rc_file(i)
178
+ "#{@create_rcfiles_where}#{File.basename(i).sub(/\.yml$/,'')}_rc".dup
179
+ end
180
+
181
+ # ========================================================================= #
182
+ # === set_dataset
183
+ #
184
+ # Determine the dataset, that is, the yaml files to be used, here.
185
+ # ========================================================================= #
186
+ def set_dataset(
187
+ i = nil
188
+ )
189
+ if i
190
+ if i.is_a? Array
191
+ i.flatten!
192
+ i.uniq!
193
+ end
194
+ end
195
+ @dataset = i
196
+ end
197
+
198
+ # ========================================================================= #
199
+ # === replace_newlines
200
+ # ========================================================================= #
201
+ def replace_newlines(
202
+ i, replace_with_this_character = ':'
203
+ )
204
+ if replace_with_this_character.is_a? Hash
205
+ if replace_with_this_character.has_key? :with
206
+ replace_with_this_character = replace_with_this_character[:with]
207
+ end
208
+ end
209
+ return i.gsub(/ /, replace_with_this_character).
210
+ gsub(/\n/, replace_with_this_character).
211
+ gsub(/#{replace_with_this_character}#{replace_with_this_character}/,
212
+ replace_with_this_character
213
+ )
214
+ end
215
+
216
+ # ========================================================================= #
217
+ # === generate_ps1_rcfile
218
+ # ========================================================================= #
219
+ def generate_ps1_rcfile
220
+ ::Rcfiles.generate_ps1_rcfile
221
+ end
222
+
223
+ # ========================================================================= #
224
+ # === generate_ls_colours_rcfile
225
+ # ========================================================================= #
226
+ def generate_ls_colours_rcfile
227
+ ::Rcfiles.generate_ls_colours_rcfile
228
+ end
229
+
230
+ # ========================================================================= #
231
+ # === generate_custom_roebe_rcfiles
232
+ # ========================================================================= #
233
+ def generate_custom_roebe_rcfiles
234
+ ::Rcfiles.generate_custom_roebe_rcfiles
235
+ end
236
+
237
+ # ========================================================================= #
238
+ # === clear_dataset
239
+ # ========================================================================= #
240
+ def clear_dataset # Use this method to clear our main dataset.
241
+ @dataset = [] # Our main Array - it will contain entries such as "lang.yml".
242
+ end
243
+
244
+ # ========================================================================= #
245
+ # === opnn
246
+ # ========================================================================= #
247
+ def opnn(
248
+ i = NAMESPACE
249
+ )
250
+ if i.is_a? String
251
+ i = { namespace: i }
252
+ end
253
+ Opn.opn(i) {{ use_colours: use_colours? }}
254
+ end
255
+
256
+ # ========================================================================= #
257
+ # === generate_the_most_important_rcfiles
258
+ # ========================================================================= #
259
+ def generate_the_most_important_rcfiles
260
+ ::Rcfiles.generate_the_most_important_rcfiles
261
+ end
262
+
263
+ # ========================================================================= #
264
+ # === set_create_rcfiles_where
265
+ #
266
+ # Where to store the rc-files. Usually this will be at /AUTOGENERATED
267
+ # but we need a way to also specify other target-directories, so this
268
+ # method has to exist.
269
+ #
270
+ # Invoke this like so:
271
+ #
272
+ # _.create_here :my_home_directory
273
+ #
274
+ # ========================================================================= #
275
+ def set_create_rcfiles_where(
276
+ i = CREATE_RCFILES_WHERE
277
+ )
278
+ case i
279
+ when :my_home_directory,
280
+ :home
281
+ i = AUTOGENERATED_RC_FILES
282
+ end
283
+ i << '/' unless i.end_with? '/' # Ensure trailing '/' token.
284
+ @create_rcfiles_where = i
285
+ end; alias create_here set_create_rcfiles_where # === create_here
286
+
287
+ # ========================================================================= #
288
+ # === store_what_into
289
+ # ========================================================================= #
290
+ def store_what_into(
291
+ store_this_data, where
292
+ )
293
+ if @be_verbose
294
+ opnn; e "Storing into -> #{sfile(where)}."
295
+ end
296
+ write_what_into_file(store_this_data.chomp, where)
297
+ end
298
+
299
+ end; end
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # === Rcfiles::Rcfiles
6
+ #
7
+ # This class is able to generate the various rc-files that can also be
8
+ # generated via the toplevel-module code as-is.
9
+ #
10
+ # rc-files in this context refers to files that can be used by shells,
11
+ # such as bash or zsh.
12
+ #
13
+ # The format of these rc-files can differ from one another:
14
+ #
15
+ # - some variables can be exported, such as in:
16
+ #
17
+ # export CLFAGS="-Werror"
18
+ #
19
+ # - some other variables are held in a "foo:bla:ble" schemata,
20
+ # for instance the $PATH variable.
21
+ #
22
+ # Usage examples:
23
+ # Rcfiles::Rcfiles.new
24
+ # =========================================================================== #
25
+ # require 'rcfiles/class/rcfiles.rb'
26
+ # =========================================================================== #
27
+ require 'rcfiles/class/misc.rb'
28
+
29
+ if __FILE__ == $PROGRAM_NAME
30
+ Rcfiles::Rcfiles.new(ARGV)
31
+ end