Commit Graph

11 Commits

Author SHA1 Message Date
Allan Odgaard
716b8ea8f3 Add path::unescape to split a shell line into words 2014-03-29 18:58:53 +07:00
Allan Odgaard
c73ad254cb Add path::escape to use when passing paths to a shell interpreter 2014-03-29 18:58:53 +07:00
Allan Odgaard
c2397484b8 Use C++11 for loop
Majority of the edits done using the following ruby script:

    def update_loops(src)
      dst, cnt = '', 0

      block_indent, variable = nil, nil
      src.each_line do |line|
        if block_indent
          if line =~ /^#{block_indent}([{}\t])|^\t*$/
            block_indent = nil if $1 == '}'
            line = line.gsub(%r{ ([^a-z>]) \(\*#{variable}\) | \*#{variable}\b | \b#{variable}(->) }x) do
              $1.to_s + variable + ($2 == "->" ? "." : "")
            end
          else
            block_indent = nil
          end
        elsif line =~ /^(\t*)c?iterate\((\w+), (?!diacritics::make_range)(.*\))$/
          block_indent, variable = $1, $2
          line = "#$1for(auto const& #$2 : #$3\n"
          cnt += 1
        end
        dst << line
      end
      return dst, cnt
    end

    paths.each do |path|
      src = IO.read(path)

      cnt = 1
      while cnt != 0
        src, cnt = update_loops(src)
        STDERR << "#{path}: #{cnt}\n"
      end

      File.open(path, "w") { |io| io << src }
    end
2014-03-03 10:34:13 +07:00
Allan Odgaard
9eda1a473b Remove path::identifier_t 2013-07-30 15:44:18 +02:00
Allan Odgaard
cd2b0882f0 Use new test system for a few frameworks 2013-02-22 15:55:28 +01:00
Allan Odgaard
759e4d9720 Introduce path::is_child(child, parent)
This also returns true when ‘child == parent’ so perhaps a better name should be chosen for this function.
2013-02-05 15:25:45 +01:00
Allan Odgaard
6bdf883abf fixup! Optimize path::disambiguate 2013-01-20 12:49:34 +01:00
Allan Odgaard
0e96a04d76 Remove compatibility checks
Since we now require 10.7 we don’t need all of this. Keeping it around is just noise that can lead to confusion about code paths.
2012-08-29 16:02:29 +02:00
Allan Odgaard
f96de9319e Fix/change path::with_tilde
We now leave a potential trailing slash in the result.

This fixes the issue of the missing slash in ⌘T — while I normally prefer the slash to be stripped, I think path::with_tilde should be an exception since effectively it is just replacing the path prefix, it shouldn’t do any real processing (although we do actually normalize the string).

Also fix a bug where we would use tilde for paths pointing to a user folder for a user with current user’s name as prefix.
2012-08-29 15:43:55 +02:00
Allan Odgaard
4259a8f884 Add path::is_absolute.
This is actually not entirely trivial since we can have a path that starts with a slash but includes more ‘..’ components than there are actual directories in the path.
2012-08-13 22:53:16 +02:00
Allan Odgaard
9894969e67 Initial commit 2012-08-09 16:25:56 +02:00