Ejemplo n.º 1
0
        private void Button_RunCoala_Click(object sender, RoutedEventArgs e)
        {
            LintRequest request = new LintRequest();

            request.bears     = ((BearMetadata)Combobox_SelectedBears.SelectedItem).Name;
            request.file_data = CodeEditor.Text;
            List <Result> results = wincoalaCore.lintOnline(request);

            ListView_Results.ItemsSource = results;
            ListView_Results.Visibility  = Visibility.Visible;
        }
Ejemplo n.º 2
0
 private void injectResultWithSnippet(LintRequest request, ref List <Result> results)
 {
     string[] lines = request.file_data.Split(new String[] { "\r\n", "\n" }, StringSplitOptions.None);
     foreach (Result result in results)
     {
         result.snippets = new List <String>();
         foreach (SourceRange sourceRange in result.affected_code)
         {
             // The code itself
             String snippet = lines[sourceRange.start.line - 1];
             // Pointer on the wronged column, only if the bear support it
             if (sourceRange.start.column != -1)
             {
                 snippet += "\r\n" + new String(' ', sourceRange.start.column - 1) + "^";
             }
             result.snippets.Add(snippet);
         }
     }
 }
Ejemplo n.º 3
0
        public List <Result> lintOnline(LintRequest request)
        {
            // API call
            Trace.WriteLine("editor API call");
            HttpContent content = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json");
            String      test    = JsonConvert.SerializeObject(request);

            Trace.WriteLine(test);
            HttpResponseMessage response = this.apiClient.PostAsync("editor/", content).Result;

            response.EnsureSuccessStatusCode();
            string resultAsString = response.Content.ReadAsStringAsync().Result;

            Trace.WriteLine("Result: " + resultAsString);

            // Convert JSON to List<Result>
            LintResponse bearsData =
                JsonConvert.DeserializeObject <LintResponse>(resultAsString);
            // "default" is the default section name used in coala result
            List <Result> results = bearsData.results["default"];

            injectResultWithSnippet(request, ref results);
            return(results);
        }