OSDN Git Service

空行を含む範囲でインデンドを増やすと空行が消えてしまうバグを修正した
authorkonekoneko <test2214@hotmail.co.jp>
Mon, 2 Jun 2014 20:14:40 +0000 (05:14 +0900)
committerkonekoneko <test2214@hotmail.co.jp>
Mon, 2 Jun 2014 20:14:40 +0000 (05:14 +0900)
Common/Controller.cs

index d9ec277..ad4a451 100644 (file)
@@ -819,22 +819,29 @@ namespace FooEditEngine
 \r
         string InsertLineHead(string s, string str)\r
         {\r
-            string[] lines = s.Split(new string[] { Document.NewLine.ToString() }, StringSplitOptions.RemoveEmptyEntries);\r
+            string[] lines = s.Split(new string[] { Document.NewLine.ToString() }, StringSplitOptions.None);\r
             StringBuilder output = new StringBuilder();\r
             for (int i = 0; i < lines.Length; i++)\r
-                output.Append(str + lines[i] + Document.NewLine);\r
+            {\r
+                if(lines[i].Length > 0)\r
+                    output.Append(str + lines[i] + Document.NewLine);\r
+                else if(i < lines.Length - 1)\r
+                    output.Append(lines[i] + Document.NewLine);\r
+            }\r
             return output.ToString();\r
         }\r
 \r
         public string RemoveLineHead(string s, string str)\r
         {\r
-            string[] lines = s.Split(new string[] { Document.NewLine.ToString() }, StringSplitOptions.RemoveEmptyEntries);\r
+            string[] lines = s.Split(new string[] { Document.NewLine.ToString() }, StringSplitOptions.None);\r
             StringBuilder output = new StringBuilder();\r
             for (int i = 0; i < lines.Length; i++)\r
+            {\r
                 if (lines[i].StartsWith(str))\r
                     output.Append(lines[i].Substring(1) + Document.NewLine);\r
-                else\r
+                else if (i < lines.Length - 1)\r
                     output.Append(lines[i] + Document.NewLine);\r
+            }\r
             return output.ToString();\r
         }\r
 \r