From 0d0e522765121f6d44317c06d11c9417e2bfb743 Mon Sep 17 00:00:00 2001 From: Mikhalkovich Stanislav Date: Wed, 24 Jul 2019 21:22:29 +0300 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=B2=D1=82=D0=BE=D1=84=D0=BE=D1=80?= =?UTF-8?q?=D0=BC=D0=B0=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20procedure=20a;=20begin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit уточнено --- .../AutoInsertCode/AutoInsertCode.cs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/VisualPascalABCNET/AutoInsertCode/AutoInsertCode.cs b/VisualPascalABCNET/AutoInsertCode/AutoInsertCode.cs index 185fd502d..6cf187c60 100644 --- a/VisualPascalABCNET/AutoInsertCode/AutoInsertCode.cs +++ b/VisualPascalABCNET/AutoInsertCode/AutoInsertCode.cs @@ -38,8 +38,19 @@ namespace VisualPascalABC i++; } while (Next != null && Next.Trim() == ""); Prev = null; + //if (ta.Caret.Line > 0) + //Prev = GetLine(ta.Caret.Line - 1); if (ta.Caret.Line > 0) - Prev = GetLine(ta.Caret.Line - 1); + { + var j = ta.Caret.Line; + do + { + j--; + Prev = GetLine(j); + } while (j > 0 && Prev.Trim() == ""); + if (Prev.Trim() == "") + Prev = null; + } } int Indent(string s) @@ -118,7 +129,7 @@ namespace VisualPascalABC var tl_beg = new TextLocation(ta.Caret.Column, ta.Caret.Line); int offset = doc.PositionToOffset(tl_beg); var send = "\n" + Spaces(icur) + "end"; - if (next == null) + if (next == null && (prev == null || !(prev.TrimStart().ToLower().StartsWith("procedure") || prev.TrimStart().ToLower().StartsWith("function")))) send += "."; else send += ";"; doc.Insert(offset, send);