Giter VIP home page Giter VIP logo

Comments (1)

chai2010 avatar chai2010 commented on June 13, 2024

Notepad++ v8.2 - functionList

%APPDATA%\notepad++\functionList\overrideMap.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!-- ==========================================================================\
|
|   To learn how to make your own language parser, please check the following
|   link:
|       https://npp-user-manual.org/docs/function-list/
|
\=========================================================================== -->
<NotepadPlus>
	<functionList>
		<associationMap>
		<!--
			For User Defined Languages (UDL's) use:
			
			<association id="my_parser.xml" userDefinedLangName="My UDL Name" />
			
			If "My UDL Name" doesn't exist yet, you can create it via UDL dialog.
		-->
			<!-- ==================== User Defined Languages ============================ -->
			<association id= "golang.xml"				userDefinedLangName="Go"/>
			<!-- ======================================================================== -->
		</associationMap>
	</functionList>
</NotepadPlus>

%APPDATA%\notepad++\functionList\golang.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!-- ==========================================================================\
|
|   To learn how to make your own language parser, please check the following
|   link:
|       https://npp-user-manual.org/docs/function-list/
|
\=========================================================================== -->
<NotepadPlus>
	<functionList>
		<!-- =========================================================== [ Go ] -->
		<parser
			id="go"
			displayName="Go"
			commentExpr="(?s:/\*.*?\*/)|(?m-s://.*?$)"
		>
			<classRange
				mainExpr="(?x)
					^type\s+\K\w+\s+interface\s*\{
				"
				openSymbole = "\{"
				closeSymbole = "\}"
			>
				<className>
					<nameExpr expr="\w+"/>
				</className>
				<function
					mainExpr="^\s+\K\w+\s*\(">
					<functionName>
						<funcNameExpr expr="\w+"/>
					</functionName>
				</function>
			</classRange>
			<function mainExpr="(?x)
				(^func\s+\w+\s*\() # func foo()
				|
				(^func\s*\(\s*\w*\s*\*?\s*\K\w+\s*\)\s*\w+) # func (p *Type) bar()
			">
				<functionName>
					<nameExpr expr="(func\s+\w+\s*\()|(\)\s*\w+)"/>
					<nameExpr expr="(\w+\s*\()|(\)\s*\w+)"/>
					<nameExpr expr="\w+"/>
				</functionName>
				<className>
					<nameExpr expr="\w+\s*\)"/>
					<nameExpr expr="\w+"/>
				</className>
			</function>
		</parser>
	</functionList>
</NotepadPlus>

from notepadplus-go.

Related Issues (2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.