for javascript ``` nnoremap <F5> :FloatermNew node %<CR> ``` for c ``` nnoremap <F5> :FloatermNew gcc % && ./a.out<CR> ``` for c++ ``` nnoremap <F5> :FloatermNew g++ % && ./a.out<CR> ``` for python ``` nnoremap <F5> :Floaterm python3 %<CR> ``` Now i want that these all working with one shortcut ```F5```. **i done like this but get an error** ``` nnoremap <expr> <F5> My_mapping() function! My_mapping if &filetype ==# 'c' nnoremap <F5>:FloatermNew gcc % && ./a.out <CR> elseif &filetype ==# 'c++' nnoremap <F5>:FloatermNew g++ % && ./a.out <CR> elseif &filetype ==# 'js' nnoremap <F5>:FloatermNew node % <CR> elseif &filetype ==# 'py' nnoremap <F5>:FloatermNew python3 % <CR> else nnoremap <F5><CR> endif endfunction ``` >error ``` Error detected while processing /home/visrut/.config/nvim/init.vim: line 208: E123: Undefined function: My_mapping n <F5> * My_mapping() line 220: E193: :endfunction not inside a function ``` **can anyone fix error?**