webcol/Calima

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

Summary

Maintainability
D
1 day
Test Coverage

Function normal has 81 lines of code (exceeds 25 allowed). Consider refactoring.
Open

  function normal(source, setState) {
    if (source.eatWhile(whiteCharRE)) {
      return null;
    }

    Function wellKnownWords has 54 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

      var wellKnownWords = (function() {
        var wkw = {};
        function setType(t) {
          return function () {
            for (var i = 0; i < arguments.length; i++)

      Avoid too many return statements within this function.
      Open

            return "variable-2";

        Avoid too many return statements within this function.
        Open

                  return "number";

          Avoid too many return statements within this function.
          Open

              return "error";

            Avoid too many return statements within this function.
            Open

                      return "integer";

              Avoid too many return statements within this function.
              Open

                    return switchState(source, setState, stringLiteral);

                Avoid too many return statements within this function.
                Open

                      return t;

                  Avoid too many return statements within this function.
                  Open

                        return "variable";

                    Avoid too many return statements within this function.
                    Open

                          return t;

                      Avoid too many return statements within this function.
                      Open

                            return "error";

                        Avoid too many return statements within this function.
                        Open

                                return "qualifier";

                          Avoid too many return statements within this function.
                          Open

                                    return "comment";

                            Avoid too many return statements within this function.
                            Open

                                  return "keyword";

                              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/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/scheme/scheme.js on lines 8..248
                              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

                              There are no issues that match your filters.

                              Category
                              Status