Exemple #1
0
        public LanguageMeta GetDefaultLanguage()
        {
            var language = new LanguageMeta();

            language.LoadChildren();
            language.InitializeChildren();

            return language;
        }
Exemple #2
0
        public void LoadLanguageHighlighterAndSyntax(LanguageMeta lang)
        {
            // forced language, via context menu
            if (lang != null)
            {
                Language = lang;
            }
            // new tab
            else if (DocumentPath.IsBlank())
            {
                Language = Controller.Current.Languages.GetDefaultLanguage();
                return;
            }
            // language via rename or save
            else
            {
                var language = Controller.Current.Languages.GetLanguageByExtension(DocumentPath.Substring(DocumentPath.LastIndexOf('.') + 1));

                if (Language != null && Language.Name == language.Name)
                    return;

                Language = language;
            }

            // syntax highlighter
            if (Language.HasSyntax || Language.IsDefault)
            {
                var ruleset = Language.Syntax.GetHighlighter();

                Editor.SyntaxHighlighting = ruleset;
                DocumentHighlighter = Editor.TextArea.GetService(typeof(IHighlighter)) as IHighlighter;

                CaretOffsetChanged(null, null); // to inform language context change
            }
        }