mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 09:44:31 +00:00 
			
		
		
		
	runtime(cuda): Update cuda keywords, remove uncommonly used enumeration constants
closes: vim/vim#14406
a2385c2334
Co-authored-by: jiangyinzuo <jiangyinzuo@foxmail.com>
		
	
		
			
				
	
	
		
			54 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Vim syntax file
 | 
						|
" Language:	CUDA (NVIDIA Compute Unified Device Architecture)
 | 
						|
" Maintainer:	Timothy B. Terriberry <tterribe@users.sourceforge.net>
 | 
						|
" Last Change:	2024 Apr 04
 | 
						|
" Contributor:  jiangyinzuo
 | 
						|
 | 
						|
" quit when a syntax file was already loaded
 | 
						|
if exists("b:current_syntax")
 | 
						|
  finish
 | 
						|
endif
 | 
						|
 | 
						|
" Read the C++ syntax to start with
 | 
						|
runtime! syntax/cpp.vim
 | 
						|
 | 
						|
" CUDA extentions.
 | 
						|
" Reference: https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#c-language-extensions
 | 
						|
syn keyword cudaStorageClass	__device__ __global__ __host__ __managed__
 | 
						|
syn keyword cudaStorageClass	__constant__ __grid_constant__ __shared__
 | 
						|
syn keyword cudaStorageClass	__inline__ __noinline__ __forceinline__ __inline_hint__
 | 
						|
syn keyword cudaStorageClass	__align__ __thread__ __restrict__
 | 
						|
"syn keyword cudaStorageClass	__import__ __export__ __location__
 | 
						|
syn keyword cudaType		char1 char2 char3 char4
 | 
						|
syn keyword cudaType		uchar1 uchar2 uchar3 uchar4
 | 
						|
syn keyword cudaType		short1 short2 short3 short4
 | 
						|
syn keyword cudaType		ushort1 ushort2 ushort3 ushort4
 | 
						|
syn keyword cudaType		int1 int2 int3 int4
 | 
						|
syn keyword cudaType		uint1 uint2 uint3 uint4
 | 
						|
syn keyword cudaType		long1 long2 long3 long4
 | 
						|
syn keyword cudaType		ulong1 ulong2 ulong3 ulong4
 | 
						|
syn keyword cudaType		longlong1 longlong2 longlong3 longlong4
 | 
						|
syn keyword cudaType		ulonglong1 ulonglong2 ulonglong3 ulonglong4
 | 
						|
syn keyword cudaType		float1 float2 float3 float4
 | 
						|
syn keyword cudaType		double1 double2 double3 double4
 | 
						|
syn keyword cudaType		dim3 texture textureReference
 | 
						|
syn keyword cudaType		cudaError_t cudaDeviceProp cudaMemcpyKind
 | 
						|
syn keyword cudaType		cudaArray cudaChannelFormatKind
 | 
						|
syn keyword cudaType		cudaChannelFormatDesc cudaTextureAddressMode
 | 
						|
syn keyword cudaType		cudaTextureFilterMode cudaTextureReadMode
 | 
						|
syn keyword cudaVariable	gridDim blockIdx blockDim threadIdx warpSize
 | 
						|
syn keyword cudaConstant	__CUDA_ARCH__
 | 
						|
syn keyword cudaConstant	__DEVICE_EMULATION__
 | 
						|
" There are too many CUDA enumeration constants. We only define a subset of commonly used constants.
 | 
						|
" Reference: https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__TYPES.html
 | 
						|
syn keyword cudaConstant	cudaSuccess
 | 
						|
 | 
						|
hi def link cudaStorageClass	StorageClass
 | 
						|
hi def link cudaType		Type
 | 
						|
hi def link cudaVariable	Identifier
 | 
						|
hi def link cudaConstant	Constant
 | 
						|
 | 
						|
let b:current_syntax = "cuda"
 | 
						|
 | 
						|
" vim: ts=8
 |