colorls/Rakefile

51 lines
1.2 KiB
Ruby
Raw Normal View History

2020-12-22 14:17:49 +01:00
# frozen_string_literal: true
require 'bundler/setup'
require 'rubygems/tasks'
Gem::Tasks.new
2017-07-05 16:23:11 +02:00
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec) do |t|
2020-12-22 14:17:49 +01:00
t.rspec_opts = '--warnings'
end
2017-07-05 16:23:11 +02:00
require 'rubocop/rake_task'
RuboCop::RakeTask.new
2017-07-05 16:23:11 +02:00
2017-11-10 20:25:21 +01:00
desc 'Build the manual'
file 'man/colorls.1' => ['man/colorls.1.ronn', 'lib/colorls/flags.rb'] do
require 'colorls'
require 'date'
2017-11-10 20:25:21 +01:00
require 'ronn'
flags = ColorLS::Flags.new
attributes = {
2022-03-19 22:39:11 +01:00
date: Date.iso8601(`git log -1 --pretty=format:%cI -- lib/colorls/flags.rb`),
2017-11-10 20:25:21 +01:00
manual: 'colorls Manual',
organization: "colorls #{ColorLS::VERSION}"
}
doc = Ronn::Document.new(nil, attributes) do
template = File.read('man/colorls.1.ronn')
2017-11-10 20:25:21 +01:00
section = ''
flags.options.each do |o|
section += <<OPTION
* `#{o.flags.join('`, `')}`:
#{o.desc.join("<br>\n")}
OPTION
end
template.sub('{{ OPTIONS }}', section)
end
File.write('man/colorls.1', doc.convert('roff'))
2017-11-10 20:25:21 +01:00
end
directory 'zsh'
desc 'Build the Zsh completion file'
file 'zsh/_colorls' => %w[zsh lib/colorls/flags.rb] do
ruby "exe/colorls '--*-completion-zsh=colorls' > zsh/_colorls"
end
task default: %w[spec rubocop man/colorls.1 zsh/_colorls]