Skip to Content
Author's profile photo Carlos Daniel Alanis

ABAP Function List in Notepad++

Hi, everyone!

How many times either for one reason or another I play us to edit or revise code offline and if the Syntax Highlighting recognition is fantastic (please visit the post of Manish Kumar for add that feature ABAP Syntax Highlighting in Notepad++ Part 2)
https://upload.wikimedia.org/wikipedia/commons/0/0f/Notepad%2B%2B_Logo.png
But sometimes you need to edit quickly in Notepad ++ and you are missing one of the useful features …. The  function List.


Function List Panel is a zone to display all the function (or method) find in current file. User can use Function List Panel to access to a function definition quickly by double clicking function item on the list.

Example_01.jpg

Ok, friends hope you like it and to get down to work.

1-Add the feature Syntax Highlighting for ABAP

please visit the post of Manish Kumar for add that feature ABAP Syntax Highlighting in Notepad++ Part 2


2-File to Modify

To make Notepad++ recognize ABAP function lists, we need to modify the file:

C:\Users\your_user_name\AppData\Roaming\Notepad++\functionList.xml

3-XML Nodes

Add to Node <associationMap> the entrie

<association userDefinedLangName=“ABAP” id=“abap_syntax”/>

Example_02.jpg

and then add to node <parsers>

Example_03.jpg

this part of code is in the attachment file

4-Save,Reset the application & enjoy!


Any comments or improvement is welcome

Assigned Tags

      2 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Very nice! A simlar feature has my ABAP plugin for Sublime Text 2. On shortcut CTRL+R you can get list of forms, modules, classes and methods...

      ABAP syntax highlighting for Sublime Text

      Author's profile photo Simone Cattozzi
      Simone Cattozzi

      Attachment file is no longer available.

      <!-- ABAP -->
      	<parser 
      			id="abap_syntax" 
      			displayName="ABAP" 
      			commentExpr="(?m:((?&lt;=&quot;).*?$)|((?i:\*)([\t ].*?)?$))">
      		<classRange
      			mainExpr="(?&lt;=^class ).*?(?=\n\S|\Z|endclass\.)"
      			displayMode="node">
      			<className>
      				<nameExpr expr=".*?(?=\n\S|\Z|\.)"/>
      			</className>
      			<function mainExpr="(?&lt;=method ).+?(?=\.)">
      				<functionName>
      					<funcNameExpr expr="\w+"/>
      				</functionName>
      			</function>
      		</classRange>
      		<function
      			mainExpr="((?&lt;=^form ).*?(?=\n\S|\Z|\.)|(?&lt;=^define ).*?(?=\n\S|\Z|\.))"
      			displayMode="$functionName">
      		</function>
      	</parser>