Perhaps this has been suggested (but looking through 34+ pages of 'mining' isn't fun). So here goes...
Basically a command to tell your miners to continuously mine a specific type of rock/gem/whatever. The player would select a rock to mine and all adjacent tiles of the same type are mined until there are no same-type rock adjacent to the vein. The purpose is to be able to mine out veins of precious rock/gems/whatever. Currently the only system in place is some sort of strip mining combined with exploratory mining which is very micromanagement intense and very not fun.
The algorithm is simple:
1) Player designates a rock tile to be mined, the type of rock is recorded.
2) Two processing options:
a) Mark out all the same-type rocks adjacent/mine-able to the starting rock. This is however unshown to the player, but in the unreveal portion of the map.
b) Find the tiles to be mined when they are discovered. This option places less burden on the computer (versus option a) at the instant a tile is selected for auto-mining, thus distributing the load over time.
3) The tiles auto-highlight based on visibility and only when touching a previous same-type tile.
4) As for the detection algorithm, I imagine you can figure it out, but you 'search all touching tiles' --> 'add same-type tiles to array of tiles to be mined', process array with some sort of open/closed array (ie. a*) to avoid adding tiles that have already been added.
Imagine finding a some nice native gold or precious gem and only having to issue one command in order to mine out all the rock in the vein.