Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-20386

Autocompleation uses very outdated data


    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 4.4.1.AM2
    • None
    • freemarker
    • None
    • devex #117 July 2016

      When you press Ctrl+Space after <# or in an expression after foo?, the list of directive names, and especially the list of built-in names shown is very outdated. Instead of maintaining these lists manually, the list of directive names could be get from freemarker.template.Configuration.getSupportedBuiltInDirectiveNames(), and the list of built-in names from Configuration.getSupportedBuiltInNames().

      Some complication since 2.3.23 is that the list of names should be filtered based on Template.getActualNamingConvention() (which either returns Configuration.LEGACY_NAMING_CONVENTION or Configuration.CAMEL_CASE_NAMING_CONVENTION). Though the algorithm for that is simple: If a name contains upper case letter then it's camel case. Otherwise, if it contains _ then it belongs to the legacy naming convention. Otherwise if it's a directive name that equals to a lower-cased camel case directive name, then it's legacy naming convention (consider elseIf VS elseif). Otherwise the name belongs to both naming conventions.

            alexeykazakov Alexey Kazakov
            ddekany Daniel Dekany (Inactive)
            0 Vote for this issue
            2 Start watching this issue