mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +00:00 
			
		
		
		
	Merge pull request #31843 from 2shady4u/parserCtrlClick
Solves ctrl+click on functions by ignoring the cursor
This commit is contained in:
		
						commit
						85955c5f25
					
				
					 1 changed files with 11 additions and 1 deletions
				
			
		|  | @ -252,6 +252,16 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s | |||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		// Check that the next token is not TK_CURSOR and if it is, the offset should be incremented.
 | ||||
| 		int next_valid_offset = 1; | ||||
| 		if (tokenizer->get_token(next_valid_offset) == GDScriptTokenizer::TK_CURSOR) { | ||||
| 			next_valid_offset++; | ||||
| 			// There is a chunk of the identifier that also needs to be ignored (not always there!)
 | ||||
| 			if (tokenizer->get_token(next_valid_offset) == GDScriptTokenizer::TK_IDENTIFIER) { | ||||
| 				next_valid_offset++; | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		if (tokenizer->get_token() == GDScriptTokenizer::TK_PARENTHESIS_OPEN) { | ||||
| 			//subexpression ()
 | ||||
| 			tokenizer->advance(); | ||||
|  | @ -668,7 +678,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s | |||
| 				expr = cn; | ||||
| 			} | ||||
| 
 | ||||
| 		} else if (tokenizer->get_token(1) == GDScriptTokenizer::TK_PARENTHESIS_OPEN && tokenizer->is_token_literal()) { | ||||
| 		} else if (tokenizer->get_token(next_valid_offset) == GDScriptTokenizer::TK_PARENTHESIS_OPEN && tokenizer->is_token_literal()) { | ||||
| 			// We check with is_token_literal, as this allows us to use match/sync/etc. as a name
 | ||||
| 			//function or constructor
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Rémi Verschelde
						Rémi Verschelde