Skip to content

Commit

Permalink
Move newlines out of quoted header and footer. Match carriage return …
Browse files Browse the repository at this point in the history
…along with newline in hosts file pattern.
  • Loading branch information
jalandis committed May 17, 2018
1 parent bc8c0eb commit 7e434ec
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions lib/vagrant-hostmanager/hosts_file/updater.rb
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ def update_file(file, resolving_machine = nil, include_id = true, line_endings)

def update_content(file_content, resolving_machine, include_id, line_endings)
id = include_id ? " id: #{read_or_create_id}" : ""
header = "## vagrant-hostmanager-start#{id}\n"
footer = "## vagrant-hostmanager-end\n"
header = "## vagrant-hostmanager-start#{id}"
footer = "## vagrant-hostmanager-end"
body = get_machines
.map { |machine| get_hosts_file_entry(machine, resolving_machine) }
.join
Expand Down Expand Up @@ -146,12 +146,12 @@ def get_new_content(header, footer, body, old_content, line_endings)
if body.empty?
block = "\n"
else
block = "\n\n" + header + body + footer + "\n"
block = "\n\n" + header + "\n" + body + footer + "\n\n"
end
# Pattern for finding existing block
header_pattern = Regexp.quote(header)
footer_pattern = Regexp.quote(footer)
pattern = Regexp.new("\n*#{header_pattern}.*?#{footer_pattern}\n*", Regexp::MULTILINE)
pattern = Regexp.new("[\r\n]*#{header_pattern}.*?#{footer_pattern}[\r\n]*", Regexp::MULTILINE)
# Replace existing block or append
content = old_content.match(pattern) ? old_content.sub(pattern, block) : old_content.rstrip + block
if line_endings == "crlf"
Expand Down

0 comments on commit 7e434ec

Please sign in to comment.