Commit Graph

15 Commits

Author SHA1 Message Date
Allan Odgaard
e81286b0cd Remove unused include 2014-05-16 22:11:28 +07:00
Allan Odgaard
af3f4aaa33 Check result of most CF/CT ‘Create’ functions 2014-05-15 13:17:30 +07:00
Allan Odgaard
db13d4c1f9 Use std::string::back() instead of operator[] with size()-1 2014-03-31 08:27:18 +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
62db7aff11 Add comparison operators to what’s understood by ⌃T 2013-08-26 11:26:56 +02:00
Allan Odgaard
695ff4c703 Improve the “swap” functionality of ⌃T
See tests for details.
2013-08-24 20:28:16 +02:00
Allan Odgaard
e9576e60f9 Let transpose detect and swap words
The detection is done by a regexp match of ‘\w+\W+\w+’ allowing the string to optionally be wrapped in round, square, or squiggly parentheses.
2013-08-09 23:13:58 +02:00
Allan Odgaard
570afce039 Reformat and justify was broken for multi-paragraph input
Fixes #1021.
2013-06-18 11:44:47 +07:00
Allan Odgaard
34bf85d8d1 Remove whitespace when shifting text left
Previously shifting text left/right would ignore blank lines (as noted in issue #419).

When shifting left though it does make sense to delete whitespace, especially as the same code is used to re-indent when pasting.

Fixes #810.
2013-03-13 12:38:12 +01:00
Allan Odgaard
ebc4fa26af Use regexp::match_t::operator[]
Also bypass NSString/c_str() by using std::stod().
2013-02-08 11:20:35 +01:00
Allan Odgaard
9eb4044fdb Switch to simpler regexp::search 2013-02-08 11:20:35 +01:00
Allan Odgaard
12d700a8a9 fixup! Fix trailing whitespace in text reformat
We still got the extra (double) newline after the paragraph.
2012-08-18 22:11:10 +02:00
Allan Odgaard
be63bda3e7 Support East Asian Width
There is a bunch of functions that deal with the logical column count and these now all count code points with the “east asian width” (unicode) property set as two columns.

This closes issue #206.
2012-08-18 21:29:05 +02:00
Damon McDougall
36b2e82e3a Fix trailing whitespace in text reformat
On a ^Q text reformat, trailing whitespaces were not removed. Typically
whitespace is typically considered undesirable.
2012-08-18 19:06:14 +02:00
Allan Odgaard
9894969e67 Initial commit 2012-08-09 16:25:56 +02:00