webcol/Calima

View on GitHub
public_/plantillas/inspinia/js/plugins/codemirror/mode/scheme/scheme.js

Summary

Maintainability
D
2 days
Test Coverage

Function token has 126 lines of code (exceeds 25 allowed). Consider refactoring.
Open

        token: function (stream, state) {
            if (state.indentStack == null && stream.sol()) {
                // update indentation, but only if indentStack is empty
                state.indentation = stream.indentation();
            }

    Avoid deeply nested control flow statements.
    Open

                                    if (numTest(stream))
                                        returnType = NUMBER;
    Severity: Major
    Found in public_/plantillas/inspinia/js/plugins/codemirror/mode/scheme/scheme.js - About 45 mins to fix

      Avoid deeply nested control flow statements.
      Open

                              if (state.indentStack != null && state.indentStack.type == (ch == ")" ? "(" : "[")) {
                                  popStack(state);
      
                                  if(typeof state.sExprComment == "number"){
                                      if(--state.sExprComment == 0){
      Severity: Major
      Found in public_/plantillas/inspinia/js/plugins/codemirror/mode/scheme/scheme.js - About 45 mins to fix

        Avoid deeply nested control flow statements.
        Open

                                if (keywords && keywords.propertyIsEnumerable(stream.current())) {
                                    returnType = BUILTIN;
                                } else returnType = "variable";
        Severity: Major
        Found in public_/plantillas/inspinia/js/plugins/codemirror/mode/scheme/scheme.js - About 45 mins to fix

          Avoid deeply nested control flow statements.
          Open

                                          if (hasRadix && !hasExactness) {
                                              // consume optional exactness after radix
                                              stream.match(/^#[ei]/i);
                                          }
          Severity: Major
          Found in public_/plantillas/inspinia/js/plugins/codemirror/mode/scheme/scheme.js - About 45 mins to fix

            Avoid deeply nested control flow statements.
            Open

                                        if (stream.eol() || stream.peek() == ";") {
                                            // nothing significant after
                                            // we restart indentation 1 space after
                                            pushStack(state, indentTemp + 1, ch);
                                        } else {
            Severity: Major
            Found in public_/plantillas/inspinia/js/plugins/codemirror/mode/scheme/scheme.js - About 45 mins to fix

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

                              case "string": // multi-line string parsing mode
                                  var next, escaped = false;
                                  while ((next = stream.next()) != null) {
                                      if (next == "\"" && !escaped) {
              
              
              public_/plantillas/inspinia/js/plugins/codemirror/mode/clojure/clojure.js on lines 148..159

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 96.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 71 locations. Consider refactoring.
              Open

              (function(mod) {
                if (typeof exports == "object" && typeof module == "object") // CommonJS
                  mod(require("../../lib/codemirror"));
                else if (typeof define == "function" && define.amd) // AMD
                  define(["../../lib/codemirror"], mod);
              public_/plantillas/inspinia/js/plugins/codemirror/mode/apl/apl.js on lines 4..175
              public_/plantillas/inspinia/js/plugins/codemirror/mode/asterisk/asterisk.js on lines 20..198
              public_/plantillas/inspinia/js/plugins/codemirror/mode/clike/clike.js on lines 4..474
              public_/plantillas/inspinia/js/plugins/codemirror/mode/clojure/clojure.js on lines 9..243
              public_/plantillas/inspinia/js/plugins/codemirror/mode/cobol/cobol.js on lines 8..255
              public_/plantillas/inspinia/js/plugins/codemirror/mode/coffeescript/coffeescript.js on lines 8..369
              public_/plantillas/inspinia/js/plugins/codemirror/mode/commonlisp/commonlisp.js on lines 4..120
              public_/plantillas/inspinia/js/plugins/codemirror/mode/css/css.js on lines 4..717
              public_/plantillas/inspinia/js/plugins/codemirror/mode/cypher/cypher.js on lines 7..146
              public_/plantillas/inspinia/js/plugins/codemirror/mode/d/d.js on lines 4..218
              public_/plantillas/inspinia/js/plugins/codemirror/mode/diff/diff.js on lines 4..47
              public_/plantillas/inspinia/js/plugins/codemirror/mode/dtd/dtd.js on lines 11..142
              public_/plantillas/inspinia/js/plugins/codemirror/mode/dylan/dylan.js on lines 4..299
              public_/plantillas/inspinia/js/plugins/codemirror/mode/ecl/ecl.js on lines 4..207
              public_/plantillas/inspinia/js/plugins/codemirror/mode/eiffel/eiffel.js on lines 4..162
              public_/plantillas/inspinia/js/plugins/codemirror/mode/erlang/erlang.js on lines 18..622
              public_/plantillas/inspinia/js/plugins/codemirror/mode/fortran/fortran.js on lines 4..188
              public_/plantillas/inspinia/js/plugins/codemirror/mode/gas/gas.js on lines 4..345
              public_/plantillas/inspinia/js/plugins/codemirror/mode/gherkin/gherkin.js on lines 19..178
              public_/plantillas/inspinia/js/plugins/codemirror/mode/go/go.js on lines 4..184
              public_/plantillas/inspinia/js/plugins/codemirror/mode/groovy/groovy.js on lines 4..226
              public_/plantillas/inspinia/js/plugins/codemirror/mode/haskell/haskell.js on lines 4..267
              public_/plantillas/inspinia/js/plugins/codemirror/mode/haxe/haxe.js on lines 4..518
              public_/plantillas/inspinia/js/plugins/codemirror/mode/http/http.js on lines 4..113
              public_/plantillas/inspinia/js/plugins/codemirror/mode/javascript/javascript.js on lines 6..684
              public_/plantillas/inspinia/js/plugins/codemirror/mode/jinja2/jinja2.js on lines 4..142
              public_/plantillas/inspinia/js/plugins/codemirror/mode/julia/julia.js on lines 4..301
              public_/plantillas/inspinia/js/plugins/codemirror/mode/kotlin/kotlin.js on lines 4..280
              public_/plantillas/inspinia/js/plugins/codemirror/mode/livescript/livescript.js on lines 9..280
              public_/plantillas/inspinia/js/plugins/codemirror/mode/lua/lua.js on lines 8..159
              public_/plantillas/inspinia/js/plugins/codemirror/mode/meta.js on lines 4..144
              public_/plantillas/inspinia/js/plugins/codemirror/mode/mirc/mirc.js on lines 6..193
              public_/plantillas/inspinia/js/plugins/codemirror/mode/mllike/mllike.js on lines 4..205
              public_/plantillas/inspinia/js/plugins/codemirror/mode/modelica/modelica.js on lines 6..245
              public_/plantillas/inspinia/js/plugins/codemirror/mode/nginx/nginx.js on lines 4..178
              public_/plantillas/inspinia/js/plugins/codemirror/mode/ntriples/ntriples.js on lines 32..186
              public_/plantillas/inspinia/js/plugins/codemirror/mode/octave/octave.js on lines 4..135
              public_/plantillas/inspinia/js/plugins/codemirror/mode/pascal/pascal.js on lines 4..109
              public_/plantillas/inspinia/js/plugins/codemirror/mode/perl/perl.js on lines 7..832
              public_/plantillas/inspinia/js/plugins/codemirror/mode/pig/pig.js on lines 10..188
              public_/plantillas/inspinia/js/plugins/codemirror/mode/properties/properties.js on lines 4..78
              public_/plantillas/inspinia/js/plugins/codemirror/mode/puppet/puppet.js on lines 4..220
              public_/plantillas/inspinia/js/plugins/codemirror/mode/python/python.js on lines 4..359
              public_/plantillas/inspinia/js/plugins/codemirror/mode/q/q.js on lines 4..139
              public_/plantillas/inspinia/js/plugins/codemirror/mode/r/r.js on lines 4..162
              public_/plantillas/inspinia/js/plugins/codemirror/mode/rpm/rpm.js on lines 4..101
              public_/plantillas/inspinia/js/plugins/codemirror/mode/ruby/ruby.js on lines 4..285
              public_/plantillas/inspinia/js/plugins/codemirror/mode/rust/rust.js on lines 4..451
              public_/plantillas/inspinia/js/plugins/codemirror/mode/sass/sass.js on lines 4..327
              public_/plantillas/inspinia/js/plugins/codemirror/mode/shell/shell.js on lines 4..138
              public_/plantillas/inspinia/js/plugins/codemirror/mode/sieve/sieve.js on lines 4..193
              public_/plantillas/inspinia/js/plugins/codemirror/mode/smalltalk/smalltalk.js on lines 4..168
              public_/plantillas/inspinia/js/plugins/codemirror/mode/smarty/smarty.js on lines 8..221
              public_/plantillas/inspinia/js/plugins/codemirror/mode/solr/solr.js on lines 4..104
              public_/plantillas/inspinia/js/plugins/codemirror/mode/sparql/sparql.js on lines 4..160
              public_/plantillas/inspinia/js/plugins/codemirror/mode/sql/sql.js on lines 4..362
              public_/plantillas/inspinia/js/plugins/codemirror/mode/stex/stex.js on lines 9..262
              public_/plantillas/inspinia/js/plugins/codemirror/mode/tcl/tcl.js on lines 6..147
              public_/plantillas/inspinia/js/plugins/codemirror/mode/tiddlywiki/tiddlywiki.js on lines 21..367
              public_/plantillas/inspinia/js/plugins/codemirror/mode/tiki/tiki.js on lines 4..323
              public_/plantillas/inspinia/js/plugins/codemirror/mode/toml/toml.js on lines 4..88
              public_/plantillas/inspinia/js/plugins/codemirror/mode/turtle/turtle.js on lines 4..160
              public_/plantillas/inspinia/js/plugins/codemirror/mode/vb/vb.js on lines 4..274
              public_/plantillas/inspinia/js/plugins/codemirror/mode/vbscript/vbscript.js on lines 15..350
              public_/plantillas/inspinia/js/plugins/codemirror/mode/velocity/velocity.js on lines 4..201
              public_/plantillas/inspinia/js/plugins/codemirror/mode/verilog/verilog.js on lines 4..364
              public_/plantillas/inspinia/js/plugins/codemirror/mode/xml/xml.js on lines 4..384
              public_/plantillas/inspinia/js/plugins/codemirror/mode/xquery/xquery.js on lines 4..447
              public_/plantillas/inspinia/js/plugins/codemirror/mode/yaml/yaml.js on lines 4..112
              public_/plantillas/inspinia/js/plugins/codemirror/mode/z80/z80.js on lines 4..100

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 82.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 15 locations. Consider refactoring.
              Open

                  function makeKeywords(str) {
                      var obj = {}, words = str.split(" ");
                      for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
                      return obj;
                  }
              public_/plantillas/inspinia/js/plugins/codemirror/mode/clike/clike.js on lines 182..186
              public_/plantillas/inspinia/js/plugins/codemirror/mode/clojure/clojure.js on lines 25..29
              public_/plantillas/inspinia/js/plugins/codemirror/mode/cobol/cobol.js on lines 22..26
              public_/plantillas/inspinia/js/plugins/codemirror/mode/d/d.js on lines 189..193
              public_/plantillas/inspinia/js/plugins/codemirror/mode/ecl/ecl.js on lines 16..20
              public_/plantillas/inspinia/js/plugins/codemirror/mode/groovy/groovy.js on lines 15..19
              public_/plantillas/inspinia/js/plugins/codemirror/mode/kotlin/kotlin.js on lines 15..19
              public_/plantillas/inspinia/js/plugins/codemirror/mode/mirc/mirc.js on lines 18..22
              public_/plantillas/inspinia/js/plugins/codemirror/mode/modelica/modelica.js on lines 202..207
              public_/plantillas/inspinia/js/plugins/codemirror/mode/nginx/nginx.js on lines 16..20
              public_/plantillas/inspinia/js/plugins/codemirror/mode/pascal/pascal.js on lines 15..19
              public_/plantillas/inspinia/js/plugins/codemirror/mode/sieve/sieve.js on lines 15..19
              public_/plantillas/inspinia/js/plugins/codemirror/mode/tcl/tcl.js on lines 17..21
              public_/plantillas/inspinia/js/plugins/codemirror/mode/velocity/velocity.js on lines 15..19

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 72.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Identical blocks of code found in 2 locations. Consider refactoring.
              Open

                          if (state.indentStack == null && stream.sol()) {
                              // update indentation, but only if indentStack is empty
                              state.indentation = stream.indentation();
                          }
              public_/plantillas/inspinia/js/plugins/codemirror/mode/clojure/clojure.js on lines 136..139

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 48.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Identical blocks of code found in 2 locations. Consider refactoring.
              Open

                  function stateStack(indent, type, prev) { // represents a state stack object
                      this.indent = indent;
                      this.type = type;
                      this.prev = prev;
                  }
              public_/plantillas/inspinia/js/plugins/codemirror/mode/clojure/clojure.js on lines 65..69

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 46.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              There are no issues that match your filters.

              Category
              Status