Thank you gentlemen for your thoughts.  I tried the BufEnter event (adding
it to the list) and it didn't help.  Indeed, the existance of a BufEnter
event raises the question of why BufNewFile or BufRead events ... what the
difference is between BufEnter and BufRead is.

As to the question of why the coloring goes away when I leave a buffer, I
thought that might point to the problem, but then I discovered that if I
say,

  vim  known-file  unknown-file

on the command line, known-file colorizes according to its suffix, but
unknown-file doen't   But

  vim unknown-file

does colorize properly (until I switch buffers)

ah, important information forgotten to be supplied - it is a known type,
just the wrong one.  It's some file type called "conf".  So, the
recognition algorithm keeps looking ...


2013/7/20 Tony Mechelynck <[email protected]>

> On 07/19/13 23:42, Charles Smith wrote:
>
>> I have these commands in my ~/.vim/filetypes.vim file:
>>
>> function DetectFind()
>>     let myfn = "/home/cts/nodes/vim/".expand ("%:t").".vim"
>>     execute "source ".myfn
>> endfunction
>>
>>
>> au BufNewFile,BufRead /home/cts/nodes/f0/test/find/* call DetectFind()
>>
>>
>> And it works fine when I start up vim - if there's a vim file with the
>> same root as the file I'm editing, it'll colorize it.
>>
>> The problem is, if I switch buffers and come back, it doesn't colorize -
>> I suspect that DetectFind() isn't being invoked again.
>>
>> I've looked at all kinds of things, did_filetype, my own did_* flags,
>> clearing autocmds, verbose mode, etc. etc.
>>
>> Any help will be appreciated
>>
>>
> Commands in filetype.vim are meant as part of the filetype detection
> mechanism. They are invoked at BufNewFile (when creating a new file) and at
> BufRead aka BufReadPost (after opening a new editfile and displaying it in
> a buffer).
>
> They should set the filetype of recognised files by either using the
> setf[iletype] command (set the filetype if it hasn't yet been set) or
> (locally) setting the 'filetype' option (set the filetype unconditionally).
>
> Syntax coloring is done by syntax scripts, run once for each file at the
> Syntax event, and should not need to be done repeatedly for files already
> loaded. Similarly, setting options and declaring mappings for a given
> filetype should be done buffer-locally in a filetype-plugin, which is run
> once at the Filetype event, and uses commands like :setlocal and :map
> <buffer>. These also, don't need to be repeated every time you enter into
> the file.
>
> You seem to be asking why the coloring isn't reapplied when you move back
> to an existing window, I'd rather ask why it goes away when you move out of
> it.
>
>
> Best regards,
> Tony.
> --
>         I think for the most part that the readership here uses the c-word
> in
> a similar fashion.  I don't think anybody really believes in a new,
> revolution-
> ary literature --- I think they use `cyberpunk' as a term of convenience to
> discuss the common stylistic elements in a small subset of recent sf books.
>                 -- Jeff G. Bone
>
>
> --
> --
> You received this message from the "vim_use" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit 
> http://www.vim.org/maillist.**php<http://www.vim.org/maillist.php>
>
> --- You received this message because you are subscribed to a topic in the
> Google Groups "vim_use" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/**
> topic/vim_use/GFfp4YlD9Pw/**unsubscribe<https://groups.google.com/d/topic/vim_use/GFfp4YlD9Pw/unsubscribe>
> .
> To unsubscribe from this group and all its topics, send an email to
> vim_use+unsubscribe@**googlegroups.com<vim_use%[email protected]>
> .
> For more options, visit 
> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
> .
>
>
>

-- 
-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to