34 lines
725 B
Plaintext
34 lines
725 B
Plaintext
|
#!/usr/bin/env ruby
|
||
|
# watch the directory and run clang format when a file changes. not used currently
|
||
|
|
||
|
require 'listen'
|
||
|
|
||
|
wd = Dir.pwd
|
||
|
|
||
|
extensions_to_format = [".m", ".h", ".c"]
|
||
|
|
||
|
paths_for_listening = []
|
||
|
|
||
|
Dir.foreach(wd) { |sd|
|
||
|
if File.directory?(sd)
|
||
|
lower = sd.downcase
|
||
|
if lower != 'pods' && !lower.start_with?('.')
|
||
|
paths_for_listening << sd
|
||
|
end
|
||
|
end
|
||
|
}
|
||
|
|
||
|
listener = Listen.to(*paths_for_listening) do |modified, added, removed|
|
||
|
modified_and_added = modified + added
|
||
|
modified_and_added.each do |path|
|
||
|
extension = File.extname(path)
|
||
|
if extensions_to_format.include?(extension)
|
||
|
puts "Formatting #{path}"
|
||
|
`clang-format -style=file -i #{path}`
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
listener.start
|
||
|
|
||
|
sleep
|