예제 #1
0
		string GenerateNewResourceName(SourceCodeLiteral literal)
		{
			var n = _allResources.Count + 1;
			while(_allResources.FirstOrDefault(r => r.ConstantName.StartsWith("Str{0}".Put(n))) != null)
				++n;

			return literal != null && literal.StringValue.Contains("{") && literal.StringValue.Contains("}") ?
				"Str{0}Params".Put(n) :
				"Str{0}".Put(n);
		}
예제 #2
0
		void ShowLiteralInEditor(SourceCodeLiteral literal)
		{
			if(LiteralInEditor == literal)
				return;

			var text = literal.Document.GetTextAsync().Result.ToString();
			using(var stream = GenerateStreamFromString(text))
				_syntaxEditor.Document.LoadFile(stream, Encoding.UTF8);

			_syntaxEditor.ActiveView.ScrollToCaretOnSelectionChange = true;

			_syntaxEditor.Document.Language = _actiproCSharpLanguage;
			_syntaxEditor.Document.IsReadOnly = true;

			var lineSpan = literal.Expression.SyntaxTree.GetLineSpan(literal.Expression.Span);
			var start = lineSpan.StartLinePosition;
			var end = lineSpan.EndLinePosition;

			_syntaxEditor.ActiveView.Selection.StartPosition = new TextPosition(start.Line, start.Character);
			_syntaxEditor.ActiveView.Selection.EndPosition = new TextPosition(end.Line, end.Character);

			LiteralInEditor = literal;
		}