mirror of
				https://github.com/notepad-plus-plus/notepad-plus-plus.git
				synced 2025-11-04 13:34:00 +01:00 
			
		
		
		
	Adds GDScript language support, autocomplete file, functionlist, default and dark themes. Fix #13329, close #13335
		
			
				
	
	
		
			109 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
 | 
						|
# Everything after "#" is a comment.
 | 
						|
# A file is a class!
 | 
						|
 | 
						|
# (optional) class definition:
 | 
						|
class_name MyClass
 | 
						|
 | 
						|
# Inheritance:
 | 
						|
extends BaseClass
 | 
						|
 | 
						|
# Member variables.
 | 
						|
var a = 5
 | 
						|
var s = "Hello"
 | 
						|
var arr = [1, 2, 3]
 | 
						|
var dict = {"key": "value", 2: 3}
 | 
						|
var other_dict = {key = "value", other_key = 2}
 | 
						|
var typed_var: int
 | 
						|
var inferred_type := "String"
 | 
						|
 | 
						|
 | 
						|
var ss = '''
 | 
						|
func invalid_single_quote():
 | 
						|
	pass
 | 
						|
'''
 | 
						|
 | 
						|
var sd = """
 | 
						|
func invalid_func_double_quote():
 | 
						|
	pass
 | 
						|
"""
 | 
						|
 | 
						|
# Constants.
 | 
						|
const ANSWER = 42
 | 
						|
const THE_NAME = "Charly"
 | 
						|
 | 
						|
# Enums.
 | 
						|
enum {UNIT_NEUTRAL, UNIT_ENEMY, UNIT_ALLY}
 | 
						|
enum Named {THING_1, THING_2, ANOTHER_THING = -1}
 | 
						|
 | 
						|
# Built-in vector types.
 | 
						|
var v2 = Vector2(1, 2)
 | 
						|
var v3 = Vector3(1, 2, 3)
 | 
						|
 | 
						|
 | 
						|
# Functions.
 | 
						|
func my_func(arg1 : int = sin(1), arg2 : String = "") -> void:
 | 
						|
	return
 | 
						|
 | 
						|
func some_function(param1, param2, param3):
 | 
						|
	if param1 < local_const:
 | 
						|
		print(param1)
 | 
						|
	elif param2 > 5:
 | 
						|
		print(param2)
 | 
						|
	else:
 | 
						|
		print("Fail!")
 | 
						|
 | 
						|
	for i in range(20):
 | 
						|
		print(i)
 | 
						|
 | 
						|
	while param2 != 0:
 | 
						|
		param2 -= 1
 | 
						|
 | 
						|
	match param3:
 | 
						|
		3:
 | 
						|
			print("param3 is 3!")
 | 
						|
		_:
 | 
						|
			print("param3 is not 3!")
 | 
						|
 | 
						|
	var local_var = param1 + 3
 | 
						|
	return local_var
 | 
						|
 | 
						|
 | 
						|
# Functions override functions with the same name on the base/super class.
 | 
						|
# If you still want to call them, use "super":
 | 
						|
func something(p1, p2):
 | 
						|
	super(p1, p2)
 | 
						|
 | 
						|
 | 
						|
# It's also possible to call another function in the super class:
 | 
						|
func other_something(p1, p2):
 | 
						|
	super.something(p1, p2)
 | 
						|
 | 
						|
 | 
						|
# Inner class
 | 
						|
class Something:
 | 
						|
	var a = 10
 | 
						|
	
 | 
						|
	func inner_function():
 | 
						|
		return
 | 
						|
		
 | 
						|
	func my_func(arg1 : int = sin(1), arg2 : String = "") -> void:
 | 
						|
		return
 | 
						|
 | 
						|
 | 
						|
# Inner class with inheritance
 | 
						|
class fish extends Node2D:
 | 
						|
 | 
						|
    func _init():
 | 
						|
        _randomize()
 | 
						|
 | 
						|
    func _randomize():
 | 
						|
        randomize()
 | 
						|
        _size = rand_range(0.75,2.0)
 | 
						|
 | 
						|
# Constructor
 | 
						|
func _init():
 | 
						|
	print("Constructed!")
 | 
						|
	var lv = Something.new()
 | 
						|
	print(lv.a)
 |